Software Testing and Quality Assurance - Sample Questions and Answers

 


1.1. What is the difference between testing and quality assurance?
Testing is a means of discovering the quality level of a software system, not a means of assuring software quality.
1.2. What is quality?
The degree to which a product, for example, software satisfies both stated and implied requirements.
1.3. What is software quality?
Quality software is reasonably bug-free, delivered on time and within budget, meets or exceeds requirements and/or expectations, and is maintainable. However, quality is obviously a subjective term. It will depend on who the “customer” is and their overall influence in the scheme of things. A wide-angle view of the “customers” of a software development project might include end-users, customer acceptance testers, customer contract officers, customer management, the development organization’s management, accountants, testers, salespeople, future software maintenance engineers, stockholders, magazine columnists, etc. Each type of “customer” will have their own slant on “quality” - the accounting department might define quality in terms of profits while an end-user might define quality as user-friendly and bug-free.
1.4. What is software quality assurance and why is it important?
Software quality assurance is an integral part of the entire software development process - monitoring and improving the process, making sure that any agreed-upon standards and procedures are followed, and focuses on the prevention of system errors. It ensures that software is written according to specification and that problems are found and dealt with before the software is released. By thoroughly testing software, we are helping to prevent system meltdowns that could cost company a lot of money in downtime and in erroneous business data.
1.5. What is software testing?
Testing involves operation of a system or application under controlled conditions and evaluating the results. For example, if the user is in interface A of the application while using hardware B, and does C, then D should happen. The controlled conditions should include both normal and abnormal conditions. Testing should intentionally attempt to make things go wrong to determine if things happen when they should not or things do not happen when they should. It is oriented towards “detection”. Organizations vary considerably in how they assign responsibility for quality assurance and testing. Sometimes they are the combined responsibility of one group or individual. Also common are project teams that include a mix of testers and developers who work closely together, with overall QA processes monitored by project managers. It will depend on what best fits an organization’s size and business structure.
1.6. What is availability?
Availability is a measurement specifying how much uptime the system must provide and how much downtime can be tolerated. Availability is a measure of how often a system is running and available to users.
1.7. What is reliability?
Reliability of a system depends on the system meeting the availability requirements. The reliability of an item is the probability that it will adequately perform its specified purpose for a specified period of time under specified environmental conditions.