software testing

25
BY: Aurobindo Nayak

Upload: aurobindo-nayak

Post on 09-Jun-2015

312 views

Category:

Documents


0 download

DESCRIPTION

RELATED TO DEVELOPMENT LIFE CYCLE IN A SOFTWARE TESTING ENVIRONMENT

TRANSCRIPT

Page 1: SOFTWARE TESTING

BY:Aurobindo Nayak

Page 2: SOFTWARE TESTING

CONTENTS:-CONTENTS:-

Testing Fundamentals What Is Software Testing ? Why Testing? Testing Lifecycle Testing Principles Testing Process

2

Page 3: SOFTWARE TESTING

Testing performed in most organizations, is a process designed to compensate for an ineffective software development process.

Testing is no longer an adjunct to the system development life cycle, but rather a key part of it.

3

What is primary role of software testing ???What is primary role of software testing ???

Determine whether the system meet specifications (producer view).

Page 4: SOFTWARE TESTING

What is Testing…. ???What is Testing…. ???

Page 5: SOFTWARE TESTING

A way of establishing confidence that a program does what it is supposed to do?

Testing is the process of executing a program with the intent of finding errors ->Assume that the program contains errors

and then test the program to find as many of the error as possible

Testing is a destructive yet creative process

5

Page 6: SOFTWARE TESTING

Verifies that all requirements are implemented correctly (both for positive and negative conditions)

Identifies defects before software deployment Helps improve quality and reliability. Makes software predictable in behavior. Reduces incompatibility and interoperability

issues. Helps marketability and retention of customers. Give programmers information they can use to

prevent bugs and create useful software

6

Page 7: SOFTWARE TESTING

7

Portability

Testability

Understandability

Modifiability

Efficiency

Usability

Reliability

Dimensions / Attributes of Software Quality ->

Page 8: SOFTWARE TESTING

Time Late Releases Projects need to be reworked or abandoned

Money Budget over-runs Defects are 100 to 1000 times more costly to find and

repair after deployment Quality

Developers unsure of product quality Products released with undiscovered or unresolved

defects

8

Page 9: SOFTWARE TESTING

Testing Life Cycle…..Testing Life Cycle…..

Page 10: SOFTWARE TESTING

10

Requirements Capture

Analysis

Test planning & Scenario Design

Test Case Development

Test Execution

Test Result Analysis

Test Cycle Closure

Defect Fixing Cycle

Defects

New Version

The Scenarios Design and the Test Case Development could normally start in parallel with the Development Cycle.Test Execution Synchs up with the Development Cycle during the functional Testing Phases

Page 11: SOFTWARE TESTING

11

Testing Lifecycle………….

Test requirements identificationTest Data Preparation

Test Environment Setup

Analysis

Validate for testability

Test Planning and Scenario design

Develop Test Objectives

Identify Test Items

Resources and Schedules

Page 12: SOFTWARE TESTING

12

Testing Lifecycle (Contd.)

Test Case Development Test Case Specification Pre-requisites, post-requisites and

Acceptance criteria

Test Execution

Run Tests and Validate Results

Bug Reporting

Bug fixes and retesting

Test Result Analysis

Defect Analysis

Determining Test Set Coverage and Effectiveness

Page 13: SOFTWARE TESTING

Testing principles………..Testing principles………..

Page 14: SOFTWARE TESTING

Be creative and have an attitude to HACK / BREAK. All tests should be traceable to the requirements Exhaustive/complete testing is not feasible, so

optimize tests based on priority and criticality “Divide and Conquer” – Begin “in the small” and

progress towards testing “in the large” If 2 tests should return the same result, one is not

needed. Automate tests, wherever feasible Create reusable test artifacts/scenarios.

14

Page 15: SOFTWARE TESTING

Testers:

15

Role Role - Execute tests, record test scripts, - Execute tests, record test scripts, maintain statistics and metrics, check test maintain statistics and metrics, check test data setup, test environment setup, execute data setup, test environment setup, execute re-testsre-tests

Knowledge Knowledge - Understanding of the - Understanding of the importance of testing, awareness of tools, how importance of testing, awareness of tools, how to progress against a planto progress against a plan

Experience Experience - Following instructions, problem - Following instructions, problem reporting and solving, and relevant testing reporting and solving, and relevant testing tools.tools.

DevelopersDevelopers UsersUsers Test AnalystTest Analyst Test ManagerTest Manager

Page 16: SOFTWARE TESTING

Test Plan : A formal test plan is a document that provides and records important information about a test project, for example: Resources, Schedule & Timeline, Test Milestones, Use cases and/or Test cases

Test Environment/Bed: An environment containing the hardware, instrumentation, simulators, software tools, and other support elements needed to conduct a test

Test Case: A set of test inputs, execution conditions and expected results.

Test Data: The actual (set of) values used in the test or that are necessary to execute the test.

Test Tools: Winrunner, Loadruner, Test Director, WebLoad etc. are widely used tools.

Test Scripts: is used to test a particular functionality (business rule). It may consist of 1 or more Test Cases.

Test Log: A chronological record of all relevant details about the execution of a test

Bug Reports: Contains a summary of the bug, its priority and other details regarding the bug.

16

Page 17: SOFTWARE TESTING

TESTING PROCESS…->

TESTING PROCESS…->

Page 18: SOFTWARE TESTING

Unit testing Integration testing System testing

18

Page 19: SOFTWARE TESTING

Manual Testing is defined as developing and executing tests that rely

primarily on direct human interaction throughout the entire test case, especially in terms of evaluating correctness and ascertaining test status.

Automation is defined as developing and executing tests that can

run unattended, comparing the actual to expected results and logging status. The rest of the paper will concentrate primarily on automation testing.

19

Page 20: SOFTWARE TESTING

Mercury Functional Testing Win Runner Test Director LoadRunner

IBM Rational Robot

20

Page 21: SOFTWARE TESTING

Regression testing with Mercury's Win Runner software offers your organization a powerful tool that captures, verifies, and replays user interactions automatically, so you can identify defects and ensure that business processes work flawlessly upon deployment and remain reliable.

21

Page 22: SOFTWARE TESTING

TestDirector is Mercury Interactive’s software test management tool. It helps quality assurance personnel plan and organize the testing process. With TestDirector you can create a database of manual and automated tests, build test cycles, run tests, and report and track defects. You can also create reports and graphs to help review the progress of planning tests, running tests, and tracking defects before a software release.

22

Page 23: SOFTWARE TESTING

With Mercury Roadrunner, the leading load testing and web performance testing software, you can obtain an accurate picture of end-to-end system load testing …

With LoadRunner, you can:

Obtain an accurate picture of end-to-end system performance. Verify that new or upgraded applications meet specified performance

requirements. Identify and eliminate performance bottlenecks during the development

lifecycle.

23

Page 24: SOFTWARE TESTING

AnyQuestions ??

24

Page 25: SOFTWARE TESTING

25

Thank You !