Software Quality Assurance and Testing
Software Quality Assurance and Testing
Software Quality Assurance and Testing
Testing
SOFTWARE QUALITY ASSURANCE
Software quality assurance (SQA) is a process that
ensures that developed software meets and
complies with defined or standardized quality
specifications.
Find bugs as early as possible and make sure they get fixed.
To understand the application well.
Study the functionality in detail to find where the bugs are
likely to occur.
Study the code to ensure that each and every line of code is
tested.
Create test cases in such a way that testing is done to uncover
the hidden bugs and also ensure that the software is usable
and reliable
VERIFICATION & VALIDATION
Phases of SDLC
• Requirement Specification and Analysis
• Design
• Coding
• Testing
• Implementation
• Maintenance
SOFTWARE TESTING LIFECYCLE (STLC)
Phases -
• Requirements study
• Test Case Design and Development
• Test Execution
• Test Closure
• Test Process Analysis
Requirements study
Test Execution
•Code Review
•Test execution and evaluation
•Performance and simulation
Test Closure
•Test summary report
•Project De-brief
•Project Documentation
Tools Debug
Re-structure
Code Analyzers
Path/statement coverage tools
Education Testing Methodology
Effective use of tools
Integration Testing
– Testing of combined parts of an application to
determine their functional correctness.
– ‘Parts’ can be
• code modules
• individual applications
• client/server applications on a network.
Integration testing
Objectives To technically verify proper
interfacing between modules, and
within sub-systems
When After modules are unit tested
Input Internal & External Application
Design
Master Test Plan
Integration Test Plan
Output Integration Test report
Who Developers
Tools Debug
Re-structure
Code Analyzers
Education Testing Methodology
Effective use of tools
System Testing
Objectives To verify that the system components perform
control functions
To perform inter-system test
To demonstrate that the system performs
both functionally and operationally as
specified
To perform appropriate types of tests relating
to Transaction Flow, Installation, Reliability,
Regression etc.
When After Integration Testing
Input Detailed Requirements & External Application
Design
Master Test Plan
System Test Plan
Output System Test Report
Who Development Team and Users
Regression testing
– Re-testing after fixes or modifications of the
software or its environment.
Acceptance testing
– Final testing based on specifications of the
end-user or customer
Load testing
– Testing an application under heavy loads.
– Eg. Testing of a web site under a range of
loads to determine, when the system
response time degraded or fails.
Stress Testing
– Testing under unusually heavy loads, heavy
repetition of certain actions or inputs, input of
large numerical values, large complex queries
to a database etc.
– Term often used interchangeably with ‘load’
and ‘performance’ testing.
Performance testing
– Testing how well an application complies to
performance requirements.
Alpha testing
•Testing done when development is nearing
completion; minor design changes may still
be made as a result of such testing.
Beta-testing
•Testing when development and testing are
essentially completed and final bugs and
problems need to be found before release.
White Box - testing technique
• All independent paths within a module have been
exercised at least once
Decision Coverage
– execute each decision direction at least once
Condition Coverage
– execute each decision with all possible outcomes at least once
Configuration Test
– Examines an application's requirements
for pre-existing software, initial states
and configuration in order to maintain
proper functionality.
TEST CASES
Test case is defined as
• A set of test inputs, execution conditions and
expected results, developed for a particular
objective.
• Documentation specifying inputs, predicted
results and a set of execution conditions for a test
item.
• Specific inputs that will be tried and the
procedures that will be followed when the
software tested.
• Sequence of one or more subtests executed as
a sequence as the outcome and/or final state
of one subtests is the input and/or initial state
of the next.
Contents
– Test plan reference id
– Test case
– Test condition
– Expected behavior
Defect Life Cycle
What is Defect?
• A defect is a variance from a desired product
attribute.
Missing
A specified requirement is not in the built product.
Extra
A requirement incorporated into the product that
was not specified.
Defect Log
1. Defect ID number
2. Descriptive defect name and type
3. Source of defect – test case or other source
4. Defect severity
5. Defect Priority
6. Defect status (e.g. New, open, fixed, closed,
reopen, reject)
7. Date and time tracking for either the most
recent status change, or for each change in the
status.
8. Detailed description, including the steps
necessary to reproduce the defect.
9. Component or program where defect was
found
10. Screen prints, logs, etc. that will aid the
developer in resolution process.
11. Stage of origination.
12. Person assigned to research and/or corrects the
defect.
Severity Vs Priority
Severity
Factor that shows how bad the defect is
and the impact it has on the product
Priority
Based upon input from users regarding
which defects are most important to
them, and be fixed first.
Severity Levels
• Critical
• Major / High
• Average / Medium
• Minor / low
• Cosmetic defects
Severity Level – Critical
• An installation process which does not load a component.
• A missing menu option.
• Security permission required to access a function under
test.
• Functionality does not permit for further testing.
• Runtime Errors like JavaScript errors etc.
• Functionality Missed out / Incorrect Implementation
(Major Deviation from Requirements).
• Performance Issues (If specified by Client).
• Browser incompatibility and Operating systems
incompatibility issues depending on the impact of error.
• Dead Links.
Severity Level – Major / High
• Reboot the system.
• The wrong field being updated.
• An updated operation that fails to complete.
• Performance Issues (If not specified by Client).
• Mandatory Validations for Mandatory Fields.
• Functionality incorrectly implemented (Minor
Deviation from Requirements).
• Images, Graphics missing which hinders functionality.
• Front End / Home Page Alignment issues.
Severity Level – Minor / Low
• Misspelled or ungrammatical text
• Inappropriate or incorrect formatting (such as text font, size,
alignment, color, etc.)
• Screen Layout Issues
• Spelling Mistakes / Grammatical Mistakes
• Documentation Errors
• Page Titles Missing
• Alt Text for Images
• Background Color for the Pages other than Home page
• Default Value missing for the fields required
• Cursor Set Focus and Tab Flow on the Page
• Images, Graphics missing, which does not, hinders functionality