Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Fundamentals of software testing

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.

  • Login to see the comments

Fundamentals of software testing

  1. 1. Fundamentals of Software Testing - TRANSPOSE SOLUTIONS 1/17/2017WWW.TRANSPOSESOLUTIONS.COM
  2. 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. 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. 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. 5.  Complex Code  Complexity of Infrastructure  Changing Technology  Human error  Project Time Line 1/17/2017WWW.TRANSPOSESOLUTIONS.COM 5
  6. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  19. 19. Thank You..