+ All Categories
Home > Documents > Smart Test ServicesSoftware Test Methodology - An Introduction1 Software Test Methodology – An...

Smart Test ServicesSoftware Test Methodology - An Introduction1 Software Test Methodology – An...

Date post: 25-Dec-2015
Category:
Upload: francine-cain
View: 221 times
Download: 0 times
Share this document with a friend
Popular Tags:
42
Smart Test Servi ces Software Test Methodology - An Introduction 1 Software Test Methodology – An Introduction By: Girish Krishna K STS
Transcript

Smart Test Services Software Test Methodology - An Introduction

1

Software Test Methodology – An

Introduction

By:Girish Krishna K

STS

Smart Test Services Software Test Methodology - An Introduction

2

• 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 Services 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.

Smart Test Services Software Test Methodology - An Introduction

4

• 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 Services 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.

Smart Test Services Software Test Methodology - An Introduction

6

Software Testing – V Model

Smart Test Services Software Test Methodology - An Introduction

7

Software Testing - Process

Smart Test Services 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.

Smart Test 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.

Smart Test Services 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.

Smart Test Services 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.

Smart Test Services 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.

Smart Test Services Software Test Methodology - An Introduction

13

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 Services 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.

Smart Test Services 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.

Smart Test Services 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

Smart Test Services Software Test Methodology - An Introduction

17

Time for a Break Isn’t It

We meet again in 15 minutes.

Smart Test Services 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 ?

Smart Test Services 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?

Smart Test Services 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.

Smart Test Services 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.

Smart Test Services 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

Smart Test Services 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.

Smart Test Services 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.

Smart Test Services 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.

Smart Test Services 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.

Smart Test Services 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.

Smart Test Services 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.

Smart Test Services 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.

Smart Test Services 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 .

Smart Test Services 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

Smart Test Services 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.

Smart Test Services Software Test Methodology - An Introduction

33

Test DocumentationDocuments• 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 Services 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

Smart Test Services 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

Smart Test Services 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

Smart Test Services Software Test Methodology - An Introduction

37

Defect OverviewSeverity 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 Services Software Test Methodology - An Introduction

38

Defect Tracking Tools

• The various defect tracking tools used are:– Rational DDTS– Rational Clear Quest– PVCS Online Tracker

Smart Test Services 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?

Smart Test Services 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?

Smart Test Services Software Test Methodology - An Introduction

41

Smart Test Services Software Test Methodology - An Introduction

42

Thanks a lot for u’r Patience & All the Best.

Contact : [email protected]


Recommended