32
PRESENTATION ON SOFTWARE TESTING Presented By:- komal Garg

Software testing.ppt

Embed Size (px)

DESCRIPTION

Software testing is the process of evaluation a software item to detect differences between given input and expected output. Also to assess the feature of A software item. Testing assesses the quality of the product. Software testing is a process that should be done during the development process. In other words software testing is a verification and validation process. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not limited to the process of executing a program or application with the intent of finding software bugs (errors or other defects). Software testing can be stated as the process of validating and verifying that a computer program/application/product: • meets the requirements that guided its design and development, • works as expected, • can be implemented with the same characteristics, • and satisfies the needs of stakeholders. Software Development Process Cycle:-  PLAN (P): Device a plan. Define your objective and determine the strategy and supporting methods required to achieve that objective.  DO (D): Execute the plan. Create the conditions and perform the necessary training to execute the plan.  CHECK (C): Check the results. Check to determine whether work is progressing according to the plan and whether the results are obtained.  ACTION (A): Take the necessary and appropriate action if checkup reveals that the work is not being performed according to plan or not as anticipated.

Citation preview

Page 1: Software testing.ppt

A PRESENTATION ON SOFTWARE TESTING

Presented By:-

komal Garg

Page 2: Software testing.ppt

Project OverviewIntroduction

Good testing process

Principle of software testingMyths of software testingLevels of Testing

Black-box testingwhite-box testingAlpha testing Beta testing

Page 3: Software testing.ppt

INTRODUCTION“Testing is the process of executing a program with the intention of finding errors.” – Myers

“Testing can show the presence of bugs but never their absence.” – Dijkstra

Page 4: Software testing.ppt

Software testing can be stated as the process of validating and verifying that computer program/application/product:

meets the requirements that guided

its design and development,works as expected,can be implemented with the same

characteristics,and satisfies the needs of

stakeholders.

 

Page 5: Software testing.ppt

Good Testing PracticesA good test case is one that has a

high probability of detecting an undiscovered defect, not one that shows that the program works correctly

It is impossible to test your own program

A necessary part of every test case is a description of the expected result

Page 6: Software testing.ppt

Avoid non-reproducible or on-the-fly testing

Write test cases for valid as well as invalid input conditions.

Thoroughly inspect the results of each test

As the number of detected defects in a piece of software increases, the probability of the existence of more undetected defects also increases

Page 7: Software testing.ppt

Assign your best people to testingEnsure that testability is a key

objective in your software designNever alter the program to make

testing easierTesting, like almost every other

activity, must start with objectives

Page 8: Software testing.ppt

Principle of software testing: Testing should be based on use

requirements.

Time & resources are limited

Impossible to test everything

Use effective resources to test

Test planning should be done early.

Testing should begin at module

Done by an independent party

Keep s/w static during test

Documents test case and result

Page 9: Software testing.ppt

Testing Myths Testing is time consuming.

Testing is too expensive.

Testing cannot be started if the product is not fully developed.

Complete Testing is Possible.

Missed defects are due to Testers.

Testers should be responsible for the quality of a product

Any one can test a Software application.

A tester’s task is only to find bugs.

Page 10: Software testing.ppt

Levels of Testing

Page 11: Software testing.ppt

Unit Testing:-

Unit Testing is a level of the software testing process where individual units/components of a software/system are tested. The purpose is to validate that each unit of the software performs as designed.

Page 12: Software testing.ppt

A good unit test is: Able to be fully automated

Has full control over all the pieces running (Use mocks or stubs to achieve this isolation when needed)

Can be run in any order if part of many other tests

Runs in memory (no DB or File access, for example)

Consistently returns the same result (You always run the same test, so no random numbers, for example. save those for integration or range tests)

Runs fast

Tests a single logical concept in the system

Readable

Maintainable

Trustworthy (when you see its result, you don’t need to debug the code just to be sure)

Page 13: Software testing.ppt

Benefits of Unit testing:-

Find problems earlyFacilitates changeSimplifies integrationDocumentationDesign

Page 14: Software testing.ppt

Integration testing:-Integration Testing is a level of the software testing process where individual units are combined and tested as a group. The purpose of this level of testing is to expose faults in the interaction between integrated units.

Page 15: Software testing.ppt

Types of integration testing:- 1. Big Bang

2. Top down

3. Bottom up

Page 16: Software testing.ppt

1. Big Bang

Big Bang Integration testing approach used to find the bugs when all the developed modules are interacted with each other and create a complete software system then its produced result satisfying with original requirement.

 2. Top down

In Top down integrated testing approach, all Top level integrated modules are tested first and its sub modules tested from top to down step by step.

 3. Bottom up

In Bottom up integrated testing approach, all bottom (Sub Modules) level integrated sub modules are tested first and its main modules tested from bottom to up step by step.

 

Page 17: Software testing.ppt

 Why Integration Testing Is Necessary:-

One module can have an adverse effect on another

Sub-functions, when combined, may not produce the desired major function

Individually acceptable imprecision in calculations may be magnified to unacceptable levels

Interfacing errors not detected in unit testing may appear

Timing problems (in real-time systems) are not detectable by unit testing

Resource contention problems are not detectable by unit testing

Page 18: Software testing.ppt

System Testing:-

with the specified requiremeSystem Testing is a level of the software testing process where a complete, integrated system/software is tested. The purpose of this test is to evaluate the system’s compliance nts

Page 19: Software testing.ppt

Why system testing is important:

the first level of testing where the System is tested as a whole.

check if system meets functional requirement or not.

validate and verify both the Application Architecture and Business requirements

Page 20: Software testing.ppt

Acceptance Testing:-Acceptance Testing is a level of the software testing process where a system is tested for acceptability. The purpose of this test is to evaluate the system’s compliance with the business requirements and assess whether it is acceptable for delivery.

Page 21: Software testing.ppt

Why acceptance testing requires:-

In acceptance test, tester goes through the application and verifies its each and every functionality with requirement documents.

Acceptance testing is final testing and is performed before the delivery of application or software to end user for use. Its main purpose is to find the bugs but to get the confidence of end users requirements are fulfilled or not. Acceptance test is the last phase of STLC. After that, maintenance testing is performed on software or application if required.

Page 22: Software testing.ppt

Black-box testing

A software testing technique whereby the internal workings of the item being tested are not known by the tester.

Page 23: Software testing.ppt

Methods of Black box Testing

1. Graph Based Testing Methods

2. Error Guessing

3. Boundary Value Analysis

Page 24: Software testing.ppt

White-box testingWhite-box testing (also known as clear box testing, glass box testing, transparent box testing, and structural testing) is a method of testing software that tests internal structures or workings of an application, as opposed to its functionality (i.e. black-box testing).

Page 25: Software testing.ppt

Three basic steps that white-box testing:-

i. Input

ii. Processing Unit

iii. Output

Page 26: Software testing.ppt

White-box test design techniques

Control flow testing

Data flow testing

Branch testing

Path testing

Statement coverage

Decision coverage.

Page 27: Software testing.ppt

Advantages:-I. Side effects of having the

knowledge of the source code.

II. Optimization of code by revealing hidden errors and being able to remove these possible defects.

III. Gives the programmer introspection

Page 28: Software testing.ppt

Disadvantages:-

White-box testing brings complexity

it is not realistic to be able to test every single existing condition of the application and some conditions will be untested

Page 29: Software testing.ppt

Alpha testing

Testing done when development is nearing completion; minor design changes may still be made as a result of such testing.

Page 30: Software testing.ppt

Beta Testing

Testing when development and testing are essentially completed and final bugs and problems need to be found before release

Page 31: Software testing.ppt
Page 32: Software testing.ppt

Thank you…….