Smart Test ServicesSoftware Test Methodology - An Introduction1 Software Test Methodology – An Introduction By: Girish Krishna K STS.

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

Test Yaodong Bi.
Chapter 10 Software Testing
SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
Requirements Specification and Management
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Software Testing 3 Damian Gordon.
Software Process Models
Software Architecture Prof.Dr.ir. F. Gielen
Alternate Software Development Methodologies
Illinois Institute of Technology
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
Load Test Planning Especially with HP LoadRunner >>>>>>>>>>>>>>>>>>>>>>
Commercial Database Applications Testing. Test Plan Testing Strategy Testing Planning Testing Design (covered in other modules) Unit Testing (covered.
CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System.
Extreme Programming Software Development Written by Sanjay Kumar.
Software testing.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
Software Testing Lifecycle Practice
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Testing – A Methodology of Science and Art. Agenda To show, A global Test Process which work Like a solution Black Box for an Software Implementation.
RUP Implementation and Testing
Relating Testing to Quality –Timeliness of Testing –Quality Attributes Gauge by Testing –Roles Defining Test Discipline Activities Elaborating the Test.
ITEC224 Database Programming
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
Service Transition & Planning Service Validation & Testing
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
IT Requirements Management Balancing Needs and Expectations.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Software Project Documentation. Types of Project Documents  Project Charter  Requirements  Mockups and Prototypes  Test Cases  Architecture / Design.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Software Testing Process By: M. Muzaffar Hameed.
Testing, Testing & Testing - By M.D.ACHARYA QA doesn't make software but makes it better.
Automated Testing Gireendra Kasmalkar Prabodhan Exports Pvt. Ltd.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Software Quality Assurance and Testing Fazal Rehman Shamil.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Testing and Evolution CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
Syndicate Members: 1. GC Muhammad Uzair 2. GC Umer Naveed Malik.
 System Requirement Specification and System Planning.
Software Testing Strategies for building test group
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Engineering (CSI 321)
Integration Testing.
Software Testing.
Chapter 8 – Software Testing
Software Testing.
CHAPTER 2 Testing Throughout the Software Life Cycle
Applied Software Implementation & Testing
Software testing strategies 2
Introduction to Software Testing
Lecture 09:Software Testing
Introduction to Systems Analysis and Design
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
Software testing.
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Software Testing Strategies
Presentation transcript:

Smart Test ServicesSoftware Test Methodology - An Introduction1 Software Test Methodology – An Introduction By: Girish Krishna K STS

Smart Test ServicesSoftware Test Methodology - An Introduction2 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 Testing – An Introduction

Smart Test ServicesSoftware Test Methodology - An Introduction3 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.

Smart Test ServicesSoftware Test Methodology - An Introduction4 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 Testing – Problem Scenario

Smart Test ServicesSoftware Test Methodology - An Introduction5 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.

Smart Test ServicesSoftware Test Methodology - An Introduction6 Software Testing – V Model

Smart Test ServicesSoftware Test Methodology - An Introduction7 Software Testing - Process

Smart Test ServicesSoftware Test Methodology - An Introduction8 Software Testing – Services What are the Different Services that we offer? –Functionality Testing. –Performance Testing. –Usability Inspections. –Test Automation Services.

Smart Test ServicesSoftware Test Methodology - An Introduction9 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.

Smart Test ServicesSoftware Test Methodology - An Introduction10 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.

Smart Test ServicesSoftware Test Methodology - An Introduction11 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.

Smart Test ServicesSoftware Test Methodology - An Introduction12 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.

Smart Test ServicesSoftware Test Methodology - An Introduction13 Software Testing – Bottom Up 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.

Smart Test ServicesSoftware Test Methodology - An Introduction14 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.

Smart Test ServicesSoftware Test Methodology - An Introduction15 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.

Smart Test ServicesSoftware Test Methodology - An Introduction16 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

Smart Test ServicesSoftware Test Methodology - An Introduction17 Time for a Break Isn’t It We meet again in 15 minutes.

Smart Test ServicesSoftware Test Methodology - An Introduction18 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 ?

Smart Test ServicesSoftware Test Methodology - An Introduction19 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?

Smart Test ServicesSoftware Test Methodology - An Introduction20 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.

Smart Test ServicesSoftware Test Methodology - An Introduction21 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.

Smart Test ServicesSoftware Test Methodology - An Introduction22 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

Smart Test ServicesSoftware Test Methodology - An Introduction23 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.

Smart Test ServicesSoftware Test Methodology - An Introduction24 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.

Smart Test ServicesSoftware Test Methodology - An Introduction25 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.

Smart Test ServicesSoftware Test Methodology - An Introduction26 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.

Smart Test ServicesSoftware Test Methodology - An Introduction27 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.

Smart Test ServicesSoftware Test Methodology - An Introduction28 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.

Smart Test ServicesSoftware Test Methodology - An Introduction29 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.

Smart Test ServicesSoftware Test Methodology - An Introduction30 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.

Smart Test ServicesSoftware Test Methodology - An Introduction31 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

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

Smart Test ServicesSoftware Test Methodology - An Introduction33 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

Smart Test ServicesSoftware Test Methodology - An Introduction34 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

Smart Test ServicesSoftware Test Methodology - An Introduction35 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

Smart Test ServicesSoftware Test Methodology - An Introduction36 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

Smart Test ServicesSoftware Test Methodology - An Introduction37 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.)

Smart Test ServicesSoftware Test Methodology - An Introduction38 Defect Tracking Tools The various defect tracking tools used are: –Rational DDTS –Rational Clear Quest –PVCS Online Tracker

Smart Test ServicesSoftware Test Methodology - An Introduction39 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?

Smart Test ServicesSoftware Test Methodology - An Introduction40 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?

Smart Test ServicesSoftware Test Methodology - An Introduction41

Smart Test ServicesSoftware Test Methodology - An Introduction42 Thanks a lot for u’r Patience & All the Best. Contact :