STLC - System/Software Testing Life Cycle
What are the phases of STLC?
1. Identify 2. Design 3. Build 4. Set-Up 5. Execute 6. Check 7. RTM (Requirements Traceability Matrix) 8. Summary/TAR (Test Analysis Report)
What is the defect/bug life cycle?
1. New - defect that has been logged and posted for the first time 2. Assigned - the tester assigns the defect to a corresponding developer 3. Open - the developer has started analyzing and working on the defect 4. Fixed - when the developer makes the changes (to the defect) 5. Retest - retesting to verify that the defect was fixed 6. Reopen - only go through steps again if defect still exists 7. Closed - verified to be fixed by the tester
What information is included in a test plan?
1. Purpose - reason for testing/why we are testing 2. Acceptance criteria - conditions that must be met to satisfy a requirement 3. Background - why the system/software to be tested was created and how it will work 4. Summary - what will and will not be tested 5. Test efforts (assumptions/risks) - assumptions are expectations related to the test environment; risks include anything outside the testing team's control that can affect overall testing effectiveness 6. Priorities/prerequisites - establishes what are the most important aspects of the software to be tested 7. Test strategy - how testing will be done
What is RTM?
A document used to track requirements and make sure that all are met
What is a defect/bug?
A flaw/issue/unexpected result; anything that is not in accordance with the requirements
How do we develop/build test cases? How do we decide on steps for a test case (positive and negative)?
A test case is created by filling out a template, based on information from the requirements document. A. Software is working as expected (positive test cases) and B. Software rejects invalid data or displays an error/warning message for invalid data (negative test cases).
How to we design/develop a test plan?
A test plan can be developed by filling in a template, using the requirements document. Make sure to follow GDP and keep the revision history accurate.
What is the difference between a test plan and a test case?
A test plan documents overall how to complete the project (manages testing activities). Test cases are written to detail what specific steps will be taken to test the requirements (manages software).
Who identifies a bug? Who creates bug documentation?
Anyone/everyone can identify a bug. Generally the QA or BA will log it.
How do we execute test cases?
By following logical steps defined in the test case
How do you develop RTM?
By making a document including: - Requirement ID - Requirement Description - Requirement Version - Test Case ID/Name - possibly Pass/Fail status, Comments, etc.
How do you review and analyze requirements?
Check for formatting/GDP and check that they are all unique, precise, consistent, complete, bounded, and testable
What is defect priority? vs. What is defect severity?
Defect priority signifies the importance or urgency of fixing a defect. It is focused on prioritizing business needs. Defect severity is the extent to which a particular defect impacts the application or system.
What is the output/result of the defect/bug phase?
Defects/bugs are identified and fixed
What is test execution?
Executing (testing) a test case
Who is involved in the Set Up phase?
IT support, network engineer, DBA (also QA and BA indirectly)
What is "design"?
In this phase, a test plan (a document that details the objective and scope of testing) is developed using the requirements document. This phase defines HOW to test.
What is "build"/"develop"?
In this phase, we build, develop, or write test cases. A test case is a document containing a set of conditions under which a tester will determine whether a system satisfies the requirements and works as intended to
What does "identify" mean?
In this phase, we review and analyze the requirements document, which defines the business needs and user requirements.
How do we set up the test environment?
Making available all the things we will need
What information do we capture during test execution?
Pre- and post-conditions = pass/fail, results, summary (what happened before, during, and after)
Who is involved in the build/develop phase?
QA develops test cases to be run (tester will execute them in a later phase)
Who develops RTM?
QA, BA
Who analyzes and reviews the requirements?
QA, BA, and developer
Who is involved in the identify phase?
QA, BA, project manager, developer
Who executes test cases?
QA, test engineer, BA
Who is involved in the design phase?
QA, test engineer, BA, test manager, QA manager
Who develops a test plan?
QA/BA
What is the output/result of RTM?
RTM report
What does RTM stand for?
Requirement Traceability Matrix
What documents are needed for the identify phase?
Requirements document
What documents/input do we need for the design phase?
Requirements document
What are the differences between SDLC and STLC?
SDLC: - development life cycle - about developing the software, begins before actual application has been created STLC: - testing life cycle - about testing the software, begins once application or a portion of it has been created
What is the output/result of the test execution phase?
Summary (expected and actual results)
What is the difference between test cases and test execution?
Test case = written document Test execution = actual test
What is STLC?
The process of logical steps to verify and validate quality of a software or application, ensuring it meets business needs and requirements.
Why do we need to create bug documentation? What is the purpose of bug documentation?
The purpose of these reports is to track any defects and ensure that they are fixed.
Why do we need design? What is the purpose of this phase?
The purpose of this phase is to build a test plan which gives details about why and how we are testing. The test plan is written to document overall how to complete a project.
What is Set Up?
The tools and environment needed to enable testing to be done in the Execute phase.
What is the purpose of RTM?
To confirm that all software requirements have been met and nothing has been overlooked.
Why do we need build/develop? What is the purpose of this phase?
To create and build test cases
What is the purpose of the identify phase?
To review and analyze the requirements document so that it can be approved
Why do we need to perform test execution? What is the purpose of test execution?
To verify, to validate, and to find defects.
What documents are needed for set up?
requirements document, test case, test plan
What documents/input are needed for test execution?
requirements document, test case, test plan
What documents are needed to develop RTM?
requirements document, test case, test plan, test execution
What are the levels of defect severity?
~ High/Critical - business critical; must be fixed before anything can be released ~ Medium/Major - does not affect business function; can stall the project, but can release product with a workaround; a serious problem ~ Low/Minor - a cosmetic or surface issue; does not affect application function; project can be released