Software quality assurance (QA) is a process done to ensure the quality of the production of the software. Testing ensures the final software products quality. Both are of high importance in the development of a superior software product. As outsourcing app development becomes more and more popular, you will want to make sure you are achieving the highest quality software product possible even if you cannot physically be there with the developers.
Listed are 11 questions you should ask your development partner regarding these topics. They can be used as QA interview questions or even as questions to be posed once you’ve chosen your app development partner and are beginning a project.
1. What is Agile testing and why is it important?
Agile methodology is conducting the testing throughout the development process, not just at the end. It requires communication between you, possibly the customer, and the development partner. It is useful for complex projects that may have changes to the requirements during the software development process. Like the name suggests, Agile gives you and the development team some flexibility and allows for a better product to be produced.
Also, read: How to turn a website into an App: 3 ways to go
2. What is a branch, boundary, black box, and white box testing?
These are all various means of testing software. Branch testing tests all possible branches of code and boundary testing focuses on the most extreme limits of the software. Also known as behavioral testing, black box testing is done without the knowledge of the internal structure of the software. On the other hand, white box testing is done when the code is visible to the tester.
3. What is a cause-and-effect graph?
This is a graph that includes all the possible inputs and outputs of the software, and it helps the developers design test cases.
4. What should QA documents include?
A QA documents are used in the management and delivery of a software. They vary from standard operating procedures (SOPs) of the software to quality manuals that list all the defects with their respective severity levels. They can also include all the business requirements with explanations of each one. Configurations, user and manager reports, and lists of test cases can all also be included in QA documentation. It is generally best to have more documentation than less so make sure you ask you app development partner about which documents they will include in your project’s quality assurance.
5. How are validation activities done and who verifies them?
Once the software is validated through rigorous testing it must be verified. One of the best ways to conduct validation activities are through third parties that you can hire to provide verification of the project. Other effective methods include assigning employees to this process. Find out how your app development partner plans to carry out this process and don’t hesitate to ask them more about it.
6. What is a build vs. a release?
During the development of a software, you may encounter these terms which can be easily confused since they are quite similar. In order to better understand what your development partner may be saying to you and create better communication it is important to understand the difference between them. A build is a number that is given by the development team to the testing team that represents a version of the software. A release is the number that is given to you from the apps testing or development team.
7. Will the developer employ a multi-testing strategy?
To ensure the success of the software from all angles it is important to test it with various methods, such as those mentioned in an earlier point. Simply using one method of testing will decrease time spent on the software and could save you money, but you will not receive a quality product. Make sure to ask that the developer plans to use multiple methods when building the software as well as on the final product.
8. What is configuration management?
Configuration management is essentially the process of recording and documenting all changes that occur to the software development process. Subsets of this include release control and revision control.
9. What is negative testing?
Negative testing is when undesired inputs and user behaviour of the software are tested.
10. What check points will be set for the project?
In regard to your specific software solution, what checkpoints will be set to make sure that the product is being developed up to the right standards? A sub-question is how often will these checkpoints occur?
11. How will process adherence be enforced?
How do the developers plan to stick with a proper plan to ensure quality, their answer could be through product evaluation and process monitoring?