1 / 42

Software Test Methodology – An Introduction

Software Test Methodology – An Introduction. By: Girish Krishna K STS. Software Testing – An Introduction. What is testing? Testing is the Process of Certifying a product to be bug free and verifying its compliance with User Requirements.

nancy
Download Presentation

Software Test Methodology – An Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Test Methodology – An Introduction By: Girish Krishna K STS Software Test Methodology - An Introduction

  2. Software Testing – An Introduction • What is testing? • Testing is the Process of Certifying a product to be bug free and verifying its compliance with User Requirements. • It is the process of running a system with the intention of finding errors. Software Test Methodology - An Introduction

  3. Software Testing – Why To Test • Why Test ? • In any project 50 % of the project costs goes in testing related activities. • The cost to company in solving errors reported by the client is huge. • The legal implications following the delivery of an under tested product is un imaginable. Software Test Methodology - An Introduction

  4. Software Testing – Problem Scenario • Typical Problem scenario in a development project. • Communication gaps between the developer and the business decision maker. • Time provided to a developer to complete the project. • Over commitment by the developer. • Insufficient testing and quality control. • Inadequate requirements gathering. Software Test Methodology - An Introduction

  5. Software Testing – Way Out • How can we over come these problems? • Issues like communication gaps, time constraints and commitment details can be resolved by having regular interactions with the client. • Issues like quality control and inadequate requirements gathering can be got to the lime light if the testing process is more defined. Software Test Methodology - An Introduction

  6. Software Testing – V Model Software Test Methodology - An Introduction

  7. Software Testing - Process Software Test Methodology - An Introduction

  8. Software Testing – Services • What are the Different Services that we offer? • Functionality Testing. • Performance Testing. • Usability Inspections. • Test Automation Services. Software Test Methodology - An Introduction

  9. Software Testing – Functionality Tests • What do u mean by Functionality Testing? • Functionality tests verify that the Product under test complies with the working requirements laid down by the client / customer. • Functionality testing is a 3 stage process that helps in improving the quality of the product. The 3 stages being the UNIT, INTEGRATION and the SYSTEM TEST phases. Software Test Methodology - An Introduction

  10. Software Testing – Unit Tests • What do we understand by Unit Testing? • Unit testing looks at the product as a programmatic unit such as a class. • Like a box with a set of inputs and a set of outputs through which all communication between the box and its environment must flow. • In simple terms the code flow is known to the developer. • Also known as White Box Testing. Software Test Methodology - An Introduction

  11. Software Testing – Integration Tests • Integration Testing? • Integration tests target the program interfaces between the various modules of an application. • There are 2 types of integration test techniques that can be adopted. • Top Down Approach. • Bottom Up Approach. Software Test Methodology - An Introduction

  12. Software Testing – Top Down • Top Down – In Top Down we test the High level control routines, with the middle level control routines present only as stubs. • In this case we test Class A first by having stubs for Class B and Class C. • Class B is tested by having stubs for Class D and Class E. • Similarly Class C is testing by stubbing Class F and Class G. Software Test Methodology - An Introduction

  13. In the Bottom Up approach the lowest level modules are tested first. In this Example Class D and Class E are tested with the help of a driver simulating the interface of Class B. Similarly Class F and G are tested. Now the drivers for Class B and Class C is replaced with the working code and these classes are tested with the driver simulating the interface of Class A. Finally the driver for Class A is replaced with the original working code and the block is tested for its complete functionality. Software Testing – Bottom Up Software Test Methodology - An Introduction

  14. Software Testing – System Tests • System Tests are carried out to check for compliance of the product with user requirements. • The primary objective of the system tests are to ensure that the software will operate as intended in the production environment without problems. • It corresponds with the SRS phase in the V model diagram. • System testing is more Black box oriented as the code flow is not visible to the tester. Software Test Methodology - An Introduction

  15. Software Testing – Regress a System • What does one mean by Regressing the System? • A system can be regressed in 2 ways- • First to check that the bugs reported are fixed or not. • Second to check that existing functionality is not altered when the bugs reported are being fixed. Software Test Methodology - An Introduction

  16. Software Testing – Acceptance Tests • What does one mean by Acceptance tests? • Targets the compatibility, interoperability, usability etc • Evaluation of the product by the customer / client • Usually not a complete test but a part execution • Customer satisfaction and certification Software Test Methodology - An Introduction

  17. Time for a Break Isn’t It We meet again in 15 minutes. Software Test Methodology - An Introduction

  18. Software Testing – Recap… • What is Testing? • Why do we need to test ? • What are the different types of testing? • What is Unit Testing? • What is Integration testing? • What are the 2 types of Integration testing? • What is Top down approach? • What is Bottom Up Approach ? Software Test Methodology - An Introduction

  19. Software Testing – Recap… • What is System Testing? • What is Regression Testing? • What is Acceptance testing? • What is black box testing? • What is white box testing? Software Test Methodology - An Introduction

  20. Software Testing – Performance Tests • Performance Tests assess the performance of the software by simulating the real-world use of the application. • This will help identify, isolate, and analyze performance bottlenecks anywhere in the application. • ensures that the application will perform as required once deployed. Software Test Methodology - An Introduction

  21. Software Testing – Performance Tests • How can one bench mark the performance of any application? • Bench marking of any application is not a single step process. • It involves performing a series of tests on the application and comparing the results with the accepted bench marks defined by the client. Software Test Methodology - An Introduction

  22. Software Testing – Types of Performance Tests • When we talk about bench marking the performance of an application we need to subject the system to a number of tests like ·         Load tests ·         Stress tests ·         Duration Tests Software Test Methodology - An Introduction

  23. Software Testing – Load Test • Load tests are designed to test client or server response times under varying load conditions. • load tests also help to compute the maximum number of transactions a server can handle in a given time period. • when a client/server system uses load balancing or a distributed architecture, load testing can help ensure that the load balancing or distribution methods work as designed. Software Test Methodology - An Introduction

  24. Software Testing – Stress Tests • Stress testing is the process of running your client application under extreme conditions to see if they or the server "break." • Extreme conditions mean denying the resources that the application needs for normal functionality. • We test the application for its stress bearing capacity by: Continuously running a client application for many hours. Software Test Methodology - An Introduction

  25. Software Testing – Stress Tests Cont. Performing a large number of transactions. Having hundreds of users perform the same operation or a specific combination of operations at virtually the same moment. We also test the performance of your application by subjecting it to following conditions: ·         Insufficient memory. ·         Unavailable services or hardware, ·         Diminished shared resources on the system-under-test. Software Test Methodology - An Introduction

  26. Software Testing – Duration Tests • In Duration Tests the application under test is made to run for days. • The main objective is to test the system for robustness across a prolonged period and also to check for internal programmatic errors. • Also to check the error handling mechanism of the application. Software Test Methodology - An Introduction

  27. Software Testing - Usability Tests • What is this Usability Testing? • Usability is the degree to which a user can successfully learn and use a product. • When we evaluate the product, the main focus rests on the compliance of the application to user requirements. Software Test Methodology - An Introduction

  28. Software Testing - Usability Tests • The different aspects that get addressed by usability inspections are: • Global usability: Measuring as to how usable the application or web site is. • Affect: Measuring the comfort level of the user while using the application or web site. • Helpfulness: The help offered when the user faces difficulties while using the application or web site. Software Test Methodology - An Introduction

  29. Software Testing - Usability Tests • Learnability: Measuring the time factor to get familiarized with the application or web site. • Efficiency: Measuring the user inputs required for user action. • Control: Measuring the response of the application or web site when the user performs an action on a continuous basis. Software Test Methodology - An Introduction

  30. Software Testing – Test Automation Services • Automated testing can provide several benefits when it is implemented correctly and follows a rigorous process. • the potential benefits of automation are: • Building of a reliable system. • Improvement of the quality of the test effort. • Reduction of the test effort and schedules. • Maintaining a central repository of all test assets. • Reusability of programming efforts . Software Test Methodology - An Introduction

  31. Software Testing – When to Automate The different factors that help u to decide as to when to automate are: • The test sequence of actions can be defined • The test sequence of actions is repeated • A non-UI aspect of the program needs to be tested • The same tests need to be executed on multiple hardware platforms The behavior of the software under test remains the same with and without the automation Software Test Methodology - An Introduction

  32. Software Testing – Automation Tools The different tools that we use for automation are: Rational Robot, Rational Visual Test, Mercury Win Runner, Seague Silk Test. Software Test Methodology - An Introduction

  33. Test Documentation Documents • Test Plan for the Project • Test Case Documents One for each Requirement to be Tested (as mentioned in SRS) for instance functionality testing and/or performance testing Records • Test Reports One for each Requirement • Defect Log • Review Reports Software Test Methodology - An Introduction

  34. Test Plan • Identifies the features covered during testing • Each feature in the SRS mapped to a Test Case ID • The test cases are designed and documented in the Test Report format • Deliverables at Testing Phase shall be identified in Test Plan Software Test Methodology - An Introduction

  35. Test Report • Each test report has a unique ID as mentioned in the test plan • Each test report covers • Test Prerequisites • Execution Details • Wrap-up Details • Test Cases • Test Results Software Test Methodology - An Introduction

  36. Test Case Design • Test Case ID • Unique identification number which relates to individual elements of SRS • Test Case Structure • Serial No. • identifies unique serial no. of sub test case related to individual test category • Data Input (and Description) • Expected Result • Output to be produced • Actual Result • Actual result after executing the test case Software Test Methodology - An Introduction

  37. Defect Overview Severity of the defect shall be determined as follows • H - High severity defect System crash / Incorrect data which impacts other regions / etc.) • M - Medium severity defect (Execution can continue / Incorrect data which does not impact other regions / etc.) • L - Low severity defect (Aesthetics / Message wording / Menu options / Wrong alarms / Help problems / etc.) Software Test Methodology - An Introduction

  38. Defect Tracking Tools • The various defect tracking tools used are: • Rational DDTS • Rational Clear Quest • PVCS Online Tracker Software Test Methodology - An Introduction

  39. Software Testing – Recap… • What have we learnt in this session? • Why are performance tests important? • What is benchmarking? • What is the difference between load and stress tests? • How does usability help in improving the quality of the product? • Why do we need to automate testing? Software Test Methodology - An Introduction

  40. Software Testing – Recap… • When will automation be more effective? • What are the various automation tools availing in the market? • What are the different Documents in a Test Project? • What does a Test Plan Contain? • What is a Test Report? • How to design a test case? • What are the category of Defects? Software Test Methodology - An Introduction

  41. Q & A Software Test Methodology - An Introduction

  42. Thanks a lot for u’r Patience & All the Best. Contact : girish_krishna@bla.satyam.com Software Test Methodology - An Introduction

More Related