An ounce of prevention is worth pound of cure
Why does my project need testing? Isn’t it ready-for-service after development?
Testing is a process of ‘a creative destruction’. Testing follows positive and negative approaches, last ones developers don’t have because they tend to test gently, subconsciously knowing where the code will break and avoiding the weak spots. Development process is biased with the fact that product was developed bug-free. That’s why is needed to have a part of the process that will ensure that it isn’t so (by using latest tools, approaches and methodologies). This part is QA role.
What does QA mean for my project?
Testing program functions as the final "quality gate" for an application, allowing or preventing the move from the comfort of the software-engineering environment into the real world. With this role comes a large responsibility (only some of them are listed below) - the success of an application that involves QA engineers in charge of:
- business idea investigating, helping to determine if stories and their acceptance criteria are well defined and if they satisfy customer requirements;
- defining of acceptance criteria for product’s hierarchical levels and product at all;
-contribution of continuous improvements based on latest guidelines;
- leading the definition of test strategies and test plans;
- identifying and recording any product quality problems;
- providing for developers with high level test cases for the stories before code is written;
- defects and issues tracking;
- providing reports to customer.
Will my product be bug-free after completing of QA activities?
Software testing is a process designed to make sure code does what it was designed to do and that it does not do anything unintended. Software should be predictable and consistent, offering no surprises (in other words - bugs) to users. QA’s mission is to eliminate as much as possible of bugs’ impact. So in the end of the day you will receive a build with minimised risks for the end-users.
Which services/tools are being used in QA processes?
- API testing tool: Postman / SoapUI;
- Bugtracking tools: Jira, Asana, Assembla, Trello;
- Database testing tools: PostgreSQL, Microsoft SQL Server;
- Design testing tools: Photoshop, AI;
- Charles as a proxy tool;
- Test management tools: Confluence, Testrail, Zephyr;
- Automation and Load Testing tools: Jmeter, JUnit, TestNG, Selenium Webdriver, Codeship, Travis, Jenkins, Appium.
At TechMagic we help launch great ideas to our customers by starting quality assurance activities before the first line of code is written and maintain high-level quality on all further project stages.