Term
Categories of Software Testing |
|
Definition
Typically testing is classified into three categories:
# Functional Testing # Non-Functional Testing or Performance Testing # Maintenance (Regression and Maintenance) |
|
|
Term
Testing category: Functional Testing |
|
Definition
Examples:
Unit Testing Integration Testing Smoke UAT (User Acceptance Testing) Localization Globalization Interoperability ... |
|
|
Term
Testing category: Non-Functional Testing |
|
Definition
Examples:
Performance Endurance Load Volume Scalability Usability ... |
|
|
Term
Testing category: Maintenance |
|
Definition
Examples:
Regression Maintenance ... |
|
|
Term
|
Definition
Software Development Life Cycle
In SDLC, test cases are created. |
|
|
Term
|
Definition
Software Testing Life Cycle
In STLC Test cases are executed. |
|
|
Term
|
Definition
Waterfall model is a sequential model divided into different phases of software development activity. Each stage is designed for performing the specific activity during the SDLC phase. Testing phase in waterfall model starts only after implementation of the system is done.
Testing is done within the SDLC. |
|
|
Term
|
Definition
V-Model is an extension of the Waterfall Model. It is pronounced as the "vee" model. Unlike the Waterfall Model, In V-Model, there is a corresponding testing phase for each software development phase. Testing in V-Model is done in parallel to SDLC stage.
Testing is done as a subproject of SDLC. |
|
|
Term
Software Testing Life Cycle (STLC) |
|
Definition
Software Testing Life Cycle (STLC) is defined as a sequence of activities conducted to perform Software Testing.
Contrary to popular belief, Software Testing is not a just a single activity. It consists of a series of activities carried out methodologically to help certify your software product. |
|
|
Term
|
Definition
Requirement Analysis Test Planning Test case development Test Environment setup Test Execution Test Cycle closure
Each of these stages has a definite Entry and Exit criteria, Activities & Deliverables associated with it. |
|
|
Term
|
Definition
Entry Criteria: Entry Criteria gives the prerequisite items that must be completed before testing can begin.
Exit Criteria: Exit Criteria defines the items that must be completed before testing can be concluded |
|
|
Term
Phases of STLC: Requirement Analysis |
|
Definition
During this phase, test team studies the requirements from a testing point of view to identify the testable requirements.
The QA team may interact with various stakeholders (Client, Business Analyst, Technical Leads, System Architects etc) to understand the requirements in detail.
Requirements could be either Functional (defining what the software must do) or Non Functional (defining system performance /security availability )
Automation feasibility for the given testing project is also done in this stage.
Activities:
Identify types of tests to be performed Gather details about testing priorities and focus Prepare Requirement Traceability Matrix (RTM) Identify test environment details where testing is supposed to be carried out Automation feasibility analysis (if required)
Deliverables:
RTM Automation feasibility report (if applicable) |
|
|
Term
Phases of STLC: Test Planning |
|
Definition
Senior QA manager determines effort and cost estimates for the project and prepares and finalizes the Test Plan. In this phase, Test Strategy is also determined.
Activities^
Preparation of test plan/strategy document for various types of testing Test tool selection Test effort estimation Resource planning and determining roles and responsibilities Training requirement
Deliverables:
Test plan/strategy document Effort estimation document |
|
|
Term
Phases of STLC: Test Case Development |
|
Definition
This phase involves the creation, verification and rework of test cases & test scripts. Test data, is identified/created and is reviewed and then reworked as well.
Activities:
Create test cases, automation scripts (if applicable) Review and baseline test cases and scripts Create test data (If Test Environment is available)
Deliverables:
Test cases/scripts Test data |
|
|
Term
Phases of STLC: Test Environment Setup |
|
Definition
Test environment decides the software and hardware conditions under which a work product is tested. Test environment set-up is one of the critical aspects of testing process and can be done in parallel with Test Case Development Stage. Test team may not be involved in this activity if the customer/development team provides the test environment in which case the test team is required to do a readiness check (smoke testing) of the given environment.
Activities:
Understand the required architecture, environment set-up and prepare hardware and software requirement list for the Test Environment Setup test Environment and test data Perform smoke test on the build
Deliverables: Environment ready with test data set up Smoke Test Results |
|
|
Term
Phases of STLC: Test Execution |
|
Definition
During this phase, the testers will carry out the testing based on the test plans and the test cases prepared. Bugs will be reported back to the development team for correction and retesting will be performed.
Activities:
Execute tests as per plan Document test results, and log defects for failed cases Map defects to test cases in RTM Retest the Defect fixes Track the defects to closure
Deliverables: Completed RTM with the execution status Test cases updated with results Defect reports |
|
|
Term
Phases of STLC: Test Cycle Closure |
|
Definition
Testing team will meet, discuss and analyze testing artifacts to identify strategies that have to be implemented in the future, taking lessons from the current test cycle. The idea is to remove the process bottlenecks for future test cycles and share best practices for any similar projects in the future.
Activities:
Evaluate cycle completion criteria based on Time, Test coverage, Cost,Software, Critical Business Objectives, Quality Prepare test metrics based on the above parameters Document the learning out of the project Prepare Test closure report Qualitative and quantitative reporting of quality of the work product to the customer Test result analysis to find out the defect distribution by type and severity
Deliverables:
Test Closure report Test metrics |
|
|
Term
|
Definition
Manual Testing is a type of Software Testing where Testers manually execute test cases without using any automation tools. Manual Testing is the most primitive of all testing types and helps find bugs in the software system.
Any new application must be manually tested before its testing can be automated. Manual Testing requires more effort but is necessary to check automation feasibility.
Manual Testing does not require knowledge of any testing tool.
One of the Software Testing Fundamental is "100% Automation is not possible".
This makes Manual Testing imperative. |
|
|
Term
|
Definition
The key concept of manual testing is to ensure that the application is error free and it is working in conformance to the specified functional requirements.
Test Suites or cases, are designed during the testing phase and should have 100% test coverage.
It also makes sure that reported defects are fixed by developers and re-testing has been performed by testers on the fixed defects.
Basically, this testing checks the quality of the system and delivers bug-free product to the customer. |
|
|
Term
|
Definition
Black Box Testing White Box Testing Unit Testing System Testing Integration Testing Acceptance Testing |
|
|
Term
How to perform Manual Testing |
|
Definition
1.Read and understand the software project documentation/guides. Also, study the Application Under Test (AUT) if available.
2.Draft Test cases that cover all the requirements mentioned in the documentation.
3.Review and baseline the test cases with Team Lead, Client (as applicable)
4.Execute the test cases on the AUT
5.Report bugs.
6.Once bugs are fixed, again execute the failing test cases to verify they pass. |
|
|