Shared Flashcard Set

Details

Software Testing Basics
What is Software Testing
21
Computer Science
Not Applicable
04/14/2019

Additional Computer Science Flashcards

 


 

Cards

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
SDLC
Definition
Software Development Life Cycle

In SDLC, test cases are created.
Term
STLC
Definition
Software Testing Life Cycle

In STLC Test cases are executed.
Term
Waterfall Model
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
V- Model
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
Phases of STLC
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
Entry and Exit Criteria
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
Manual Testing
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
Goal of Manual Testing
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
Types of Manual Testing
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.
Supporting users have an ad free experience!