Correct Answer: a) Quality Assurance Quality assurance is an activity that establishes and evaluates the processes that produce products Quality assurance would measure processes to identify weaknesses and then correct them to continually improve the process: Eg Code review b) Quality Control Quality control is a process in which the product's quality is compared with standards and corrective actions taken if required Quality control activities focus on identifying defects in the actual products produced Eg Testing c) Test Case A test case is a unit level document describing the inputs, steps of execution and the expected result of each test condition for every requirement from the BRD Testers determine whether the application is working correctly or not based on the test case that is being executed A test case is marked as "Pass" if the application works as expected and is marked as "Fail" if otherwise Test cases also aide in generating test status metrics d) Test Condition Test condition is the condition on which the test execution evaluates to pass or fail Eg of a test condition: Set Password field should accept a mix of Alphanumeric and Special characters on mandatory basis and throw error message otherwise e) Test Script Test script is the set of instructions performed on the application to verify its functions f) Test Data Test data is the input data used to test a particular functionality Eg: Username and password to test a login screen g) Test Bed Test bed is the environment on which the testing is done and includes the software and hardware set up that is required for testing the application
2. What is risk analysis? What does it have to do with Severity and Priority?
Correct Answer: Risk analysis is a method to determine how much risk is involved in something In testing, it can be used to determine when to test something or whether to test something at all Items with higher risk values should be tested early and often Items with lower risk value can be tested later, or not at all It can also be used with defects Severity tells us how bad a defect is: "how much damage can it cause?" Priority tells us how soon it is desired to fix the defect: "should we fix this and if so, by when?" Defects with High Severity and Priority are tested first
Correct Answer: Capability Maturity Model (CMM) is a model of 5 levels of process 'maturity' that determine effectiveness in delivering quality software The 5 levels of CMM are described as below: Level 1: Initial: - characterized by chaos, periodic panics, and heroic efforts required by individuals to successfully complete projects Very few or none of the processes are in place Level 2: Repeatable: - Software Project Tracking, Requirements Management, Realistic Planning and Configuration Management Processes are in place; successful practices can be repeated Level 3: Defined: - Standard Software Development and Maintenance Processes are integrated throughout an organization A Software Engineering Process Group is in place to oversee software processes, and training programs are used to ensure understanding and compliance Level 4: Managed: - Metrics are used to track productivity, processes, and products Project performance is predictable, and quality is consistently high Level 5: Optimizing: - The focus is on continuous process improvement The impact of new processes and technologies can be predicted and effectively implemented when required Any organization can start from any level, but its motto is to reach level 5; where the focus is continuous process improvement By doing this, high quality s/w delivery is assured From this, we can see that the whole essence of CMM or CMMI is to produce quality software It targets the whole organizational practices (or processes), which are believed to be the best across industries Testing is part of Quality Assurance CMM levels play an important role in an organization?s Quality Assurance effort Thus testing plays an important role in determining CMM level
4. What is the difference in writing the test cases for Integration testing and system testing?
Correct Answer: Integration testing is done at module level when various modules are integrated with each other to form a system or sub-system Its main purpose is to ensure that interfaces between various modules are working properly; ie modules which are working individually are also working correctly together System testing is done on a complete, integrated system to evaluate the system?s compliance with its specified requirements It validates that the system meets its functional and non-functional requirements From these definitions, it is clear that the purpose of Integration and purpose of System Testing are different Therefore, Integration test cases focus more on the interfaces between modules (interface integrity) - the data transfer and their interaction with each other System test cases focus on testing the product as a whole; ie whether the functional, non-functional requirements of the System are met or not Since System Testing is the final phase before delivery of the product, System test cases should pinpoint configuration related errors along with testing for performance, security, reliability etc
5. What is the value of a testing group? How do you justify your work and budget?
Correct Answer: Testing is a process used for revealing defects in s/w and for establishing that the s/w has attained a specific degree of quality The s/w testing group?s main objective is to ensure that the s/w is doing what it is supposed to do as well as the s/w is not doing what it is not supposed to do With this objective, it is clear that it is necessary to have a separate group for testing the s/w other than the group which developed it Also, bugs in the s/w can cause severe monetary as well as other loss to the organization So it is important to allocate some budget for the testing group
6. Which is not a task of a configuration management?
Correct Answer: The word assurance means ?guarantee? So the Quality Assurance Group?s role is to guarantee that the product is of high quality They examine the overall s/w development process and their responsibility is to create and enforce standards and methods to improve it with the goal of preventing bugs from ever occurring
10. Benefits of Software Quality Assurance to the organization
Correct Answer: The main task of Software Quality Assurance Group is to examine the overall s/w development process and to create and enforce standards and methods to improve it with the goal of preventing bugs from ever occurring With this definition, it is imperative that the QA helps an organization in continuous performance improvement and strive for perfection