QA Terms Flashcards
Quality Assurance
The process in place that plans what testing efforts to use and how to perform them. A method that sets the standards of your projects.
Quality Control
Product oriented and all about maintaining the integrity of your product. Improving the quality of your product and ironing out any issues that are found. QC dependent on QA.
Software Testing
The actual testing process. Finding bugs/defects and validating if the software meets customer requirements and the standards set by the organization.
When should QA activities should start?
As soon as the project begins and the software is ready to be tested. The earlier the better to improve product quality.
Test Plan
Overall testing approach for an entire project.
Test Strategy
How testing should go for a specific feature or application.
Software Testing Life Cycle
Requirements phase Planning Phase Analysis phase Design Phase Implementation Phase Execution Phase Conclusion Phase Closure Phase
Format of a Test Case
Test case ID Test case description Severity Priority Environment Build version Steps to execute Expected results Actual results
What makes a good test case?
A good test case is one that will assist the tester in finding a bug or a defect. Also one that has a well thought out expected results section.
What would you do if you have a large suite to execute in very less time?
Prioritize the items that have a higher priority assigned to them and move on to the lower priority ones afterwards. That way, the most important aspects of the software are tested first. Also, if it’s a possibility to receive customer input on which software functionalities they deem the most important, the test cases can be prioritized that way as well.
Suppose you find a bug in production, how would you make sure that the same bug is not introduced again?
The best way is to immediately write a test case for the bug/defect and include it in the regression suite. We can also keep track of this test case for the next release and include it each time in our planned execution so that we ensure the issue does not appear again.
Functional Testing
A type of testing which verifies that each function of the software application is meeting the set requirements and specifications.
Unit Testing Integration Testing System Testing Sanity Testing Smoke Testing Interface Testing Regression Testing Beta/Acceptance Testing
Non-functional testing
A type of testing to check non-functional aspects of a software application. Testing that might not be explicitly stated in the requirements.
Performance Testing Load Testing Stress Testing Compatibility Testing Usability Testing Security Testing
Negative Testing
A type of testing that validates whether the system is behaving correctly in case of any invalid inputs. The system should use error handling to display proper error messages rather than technical messages that the user won’t understand.
Positive Testing
Validates that the system is able to handle proper requests and inputs.
What are the different artifacts you refer when you write the test cases?
Functional requirement specification Requirement understanding document Use Cases Wireframes User Stories Acceptance criteria User Acceptance Tests (UAT)
Verification
Helps to determine whether the software is of high quality and error free as well as if we are on the right track of creating the final product.
Validation
The process of evaluating the final product to check whether the software meets the customer expectations and requirements. Testing the actual product, smoke testing, functional testing, regression testing, systems testing etc.
Verification techniques
Review: Test cases are examined by someone other than the author
Inspection: Examine and correct the defects in the test system or code.
Walkthrough: Process in which the author of the document/code reads the content and gets the feedback.
Load Testing
Validate the system behavior under the expected load. The load can be of concurrent user or resources accessing the system at the same time.
Stress Testing
A technique which validates the behavior of the system when it executes under stress. First understand the upper limit of the system and gradually reduce the resources and check the system behavior.
Black Box Testing
Testing the software without knowing the internal structure of code or program.
White Box Testing
Internal structure is being known to tester who is going to test the software.
Ad Hoc Testing
An informal or unstructured type of testing in order to find possible defects or errors at an early possible stage.Testing without planning and documentation. No testing structure or organization.