Fundamentals of Software
Testing
- TRANSPOSE SOLUTIONS
1/17/2017WWW.TRANSPOSESOLUTIONS.COM
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
 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?
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
 Complex Code
 Complexity of Infrastructure
 Changing Technology
 Human error
 Project Time Line
1/17/2017WWW.TRANSPOSESOLUTIONS.COM 5
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
“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
“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
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
 Testing show presence of defects
 Exhausting testing is impossible
 Early testing
 Defect clustering
 Testing is context dependent
1/17/2017WWW.TRANSPOSESOLUTIONS.COM 10
“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
 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
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
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
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
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
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
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
Thank You..

Fundamentals of software testing

  • 1.
    Fundamentals of Software Testing -TRANSPOSE SOLUTIONS 1/17/2017WWW.TRANSPOSESOLUTIONS.COM
  • 2.
    INTRODUCTION An application thatlooks 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 insoftware 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 oftesting 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 mayalso 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 Testingare different.”  Debugging is a development activity that finds, analyzes and removes the cause of failure. 1/17/2017WWW.TRANSPOSESOLUTIONS.COM 8
  • 9.
    It is possibleto 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 showpresence of defects  Exhausting testing is impossible  Early testing  Defect clustering  Testing is context dependent 1/17/2017WWW.TRANSPOSESOLUTIONS.COM 10
  • 11.
    “The most visiblepart 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 Planningand 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 isa 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 anddesign 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 andexecution 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 criteriaand 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 activitiescollect 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 importantto 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
  • 19.