An application that looks stunning but performs poorly can cause business impact, customer dissatisfaction and higher maintenance costs.
We present an overview on the fundamentals of software testing in this presentation.
2. INTRODUCTION
An application that looks stunning but performs poorly can
cause business impact, customer dissatisfaction and higher
maintenance costs.
We present an overview on the fundamentals of software testing
in this presentation.
1/17/2017WWW.TRANSPOSESOLUTIONS.COM 2
3. Defects in software result in most failures, depending the
criticality of the software.
Poor software quality causes business impact and customer
dissatisfaction.
Re-work costs time and money.
Rigorous testing can help reduce risk & assures the quality of
the software.
Testing improve application speed, scalability, reliability and
efficiency.
1/17/2017WWW.TRANSPOSESOLUTIONS.COM 3
Why to
test?
4. SOFTWARE FAILURES
Y2K (Year:1999)
Impact: Businesses spent billions on programmers to fix a glitch in legacy
software.
Cost: Estimated at $500 billion.
Cause: To save computer storage space, legacy software often stored the
year for dates as two digit numbers, such as “99” for 1999. The Software
also interpreted “00” to mean 1900 rather than 2000, so when the year
2000 came along, bugs would result.
1/17/2017WWW.TRANSPOSESOLUTIONS.COM 4
5. Complex Code
Complexity of Infrastructure
Changing Technology
Human error
Project Time Line
1/17/2017WWW.TRANSPOSESOLUTIONS.COM 5
6. Common perception of testing is that it only consist of running tests.
Here is how it is more than that -
Test process need to start right from early stage of requirement gathering
and last through
the entire life cycle.
Test activities include planning and control, choosing test conditions,
designing and executing
test cases, checking results, evaluating exit criteria, reporting on the test
processes. 1/17/2017WWW.TRANSPOSESOLUTIONS.COM 6
7. “Software testing may also be required to meet contractual or
legal requirements.”
Testing is comprised of the following objectives:
1/17/2017WWW.TRANSPOSESOLUTIONS.COM 7
ROLE OBJECTIVE
Developer Find defects
QA Evaluate quality
Tester Check functionality against requirements
Customer Verify usability and applicability
8. “Debugging and Testing are different.”
Debugging is a development activity that finds, analyzes and
removes the cause of failure.
1/17/2017WWW.TRANSPOSESOLUTIONS.COM 8
9. It is possible to measure the quality of the software in terms of defects
found, for both functional and non-functional software requirements
and characteristics (Ex: Usability, Compatibility, Performance and
Security):
Testing can give confidence in the quality of software, if it finds few
or no defects.
Properly designed test that passes reduces the overall level of risk.
When testing find defects, the quality of the software increases
when those defects are fixed.
Testing should be integrated as one of the quality assurance
activities.
1/17/2017WWW.TRANSPOSESOLUTIONS.COM 9
10. Testing show presence of defects
Exhausting testing is impossible
Early testing
Defect clustering
Testing is context dependent
1/17/2017WWW.TRANSPOSESOLUTIONS.COM 10
11. “The most visible part of testing is test
execution.”
To make it effective and efficient, test plans should include time
to be spent on:
Planning test cases
Designing test cases
Preparing for execution
Evaluating test results
1/17/2017WWW.TRANSPOSESOLUTIONS.COM 11
12. Test Planning and Control
Test Analysis and Design
Test Implementation and Execution
Evaluating Exit Criteria and Reporting
Test Closure Activities
1/17/2017WWW.TRANSPOSESOLUTIONS.COM 12
13. Test Planning is a continuous activity, it is performed in all life cycle
processes and activities.
Determine scope, risk and identify the test objectives.
Test strategy and approach – test levels.
Entry and exit criteria.
Scheduling test analysis and design activities.
Scheduling test implementation, execution and evaluation.
Test Documentation.
Define metrics for monitoring and controlling test preparation.
1/17/2017WWW.TRANSPOSESOLUTIONS.COM 13
14. Test analysis and design is the activity during which general
testing objectives are transformed into tangible test conditions
and test cases:
Requirement review.
Test design – test scenario, test cases.
Designing test environment, infrastructure and tools.
1/17/2017WWW.TRANSPOSESOLUTIONS.COM 14
15. Test implementation and execution is the activity where test procedures or scripts are specified by
combining the test cases in a particular order and including any other information needed for test
execution, the environment is set up and the test are performed:
Define test execution phase cycles.
Define test procedure, create test data and optionally writing automated scripts.
Test design specification – Pass/Fail criteria.
Test execution.
Verify test environment – smoke testing, system and integration testing and regression testing.
Compare actual results with expected results.
Report test results.
1/17/2017WWW.TRANSPOSESOLUTIONS.COM 15
16. Evaluating exit criteria and reporting is assessed against the defined
objectives:
1/17/2017WWW.TRANSPOSESOLUTIONS.COM 16
Testing Category Entry Condition Exit Condition
Smoke Testing
• Smoke Test Cases are approved
• First Build should be ready
• Test Environment and Test Data is ready
• Completed the Smoke test execution
• No Severity 1 defects
• Approved Test Results
• Approval on deferred defects
System and Integration Testing
• System Test Cases are approved
• Test Environment and Test Data is ready
• Completed the System test execution
• No Severity 1 defects
• Approved Test Results
• Approval on deferred defects
Regression Testing
• System Testing for each iteration is completed
• Regression test pack is updated with previous
iteration test cases
• Completed regression
• No Severity 1 or Severity 2 defects
• Approved Test Results
• Approval on deferred defects
Performance Testing
• Criteria accepted beforehand by the TPL and
business units.
• Mock Performance testing to begin after sufficient
application stability
• Formal Performance Testing to begin after system
testing completion
• No Major defects open
• Test Execution Results Report completed
and approved
• Approvals Received
17. Test closure activities collect data from completed test activities
to consolidate test cases, test reports and metrics. Test closure
activities occur based on project milestones such as software
release or maintenance release:
Closing incident reports or raising change records for any that
remain open.
Documenting acceptance of the system.
Archiving test results, test environment and test infrastructure
for later use.
Recommendations.
1/17/2017WWW.TRANSPOSESOLUTIONS.COM 17
18. It is important to engage Certified Testers and Professional
Organization who shall maintain integrity and the highest
professional standard. A code of ethics is necessary to ensure
that the confidential and privileged information is not put to
appropriate use.
1/17/2017WWW.TRANSPOSESOLUTIONS.COM 18