33

Software testing

Embed Size (px)

Citation preview

Page 1: Software testing
Page 2: Software testing

What is Software?Software is a set of instructions stored digitally within the computer's memory, which tells the computer system what to do.

Page 3: Software testing

What is Testing?Testing is the process of executing a

program with the intention of finding errors

Page 4: Software testing

Software testing

Software testing is a process that should be done during the development process. In other words software testing is a verification and validation process.

Page 5: Software testing

What is Verification?

Verification is the process to make sure the product satisfies the conditions imposed at the start of the development phase.

to make sure the product behaves the way we want it to.

Page 6: Software testing

What is Validation?Validation is the process to make

sure the product satisfies the specified requirements at the end of the development phase.

to make sure the product is built as per customer requirements.

Page 7: Software testing

Difference between Verification And Validation

Verification Validation Verification is to check

whether the software conforms to specifications.

It does not involve executing the code.

It is human based checking of documents and files.

Validation is to check whether software meet the customer requirements.

It always involves executing the code.

It is computer based execution of program.

Page 8: Software testing

Difference between Verification And Validation

Verification Validation• Verification is done by

development team to provide that the software is as per the specifications

• It, generally, comes first-done before validation.

• Validation is carried out with the involvement of client and testing team.

• It generally follows after verification.

Page 9: Software testing

Purpose of Software TestingTesting verifies that the system

meets the different requirements including, functional, performance, reliability, security, usability and so on.This verification is done to ensure that we are building the

system right.

Page 10: Software testing

Basics of Software Testing

There are two basics of software testing:

Whitebox testing.

Blackbox testing

Page 11: Software testing

What is Whitebox Testing?Whitebox Testing is a software testing

method in which the internal structure of the item being tested is known to the tester.

White box testing is often used for verification.

White box testing is done by the Developers.

Page 12: Software testing

Advantage of Whitebox TestingTesting can be commenced at an earlier

stage. One need not wait for the GUI to be available.

Testing is more thorough, with the possibility of covering most paths.

The other advantage of white box testing is that it helps in optimizing the code

Page 13: Software testing

Disadvantage of Whitebox Testing

As knowledge of code and internal structure is a prerequisite, a skilled tester is needed to carry out this type of testing, which increases the cost

Not looking at the code in a runtime environment...

Page 14: Software testing

What is Blackbox Testing?Blackbox Testing is a software testing

method in which the internal structure of the item being tested is not known to the tester..

Blackbox testing is often used for Validation..

Black box testing is done by the professional testing team.

Page 15: Software testing

Advantage of Blackbox TestingTester can be non-technical.

Tester needs no knowledge of implementation, including specific programming languages

Tests will be done from an end user's point of view. Because end user should accept the system.

Page 16: Software testing

Disadvantage of Blackbox Testing

Not all properties of a software product can be tested

The reason for a failure is not found.

Only a small number of possible inputs can be tested and many program paths will be left untested..

Page 17: Software testing

Types of TestingThere are many types of testing like

Unit Testing

Integration Testing

Functional Testing

System Testing

Stress Testing

Page 18: Software testing

Types of TestingPerformance Testing

Usability Testing

Acceptance Testing

Regression Testing

Beta Testing

Page 19: Software testing

Unit TestingUnit testing is that validate individual

unit of source code working properly…

Unit is smallest testable part of an application..

Mostly done by developers of the modules..

Page 20: Software testing

Goal of Unit Testing

• To isolate each part of program and show that individual parts are correct..

Page 21: Software testing

Advantage of Unit Testing Unit Testing reduces the level of bugs

in production code..

Unit Testing inspires confidence..

Unit Testing makes it easier to change and refactor code.

Page 22: Software testing

Disadvantage of Unit TestingUnit-testing will not catch every

error in the program. By definition, it only tests the functionality of the units….

Page 23: Software testing

Integration TestingIntegration testing is testing in which a

group of components are combined to produce output.

Also, the interaction between software and hardware is tested in integration testing if software and hardware components have any relation.

Page 24: Software testing

Integration Testing• Prerequisite of Integration Testing

•Before We begin Integration Testing it is important that all the components have been successfully unit tested..

Page 25: Software testing

Goal of Integration TestingTo discover faults that are due to

incorrect interaction

Between different software module.

Page 26: Software testing

Integration Testing

Types of Integration Testing

Top-down testing

Top Down Integration as the term suggests, starts always at the top of the program hierarchy and travels towards its branches..

Page 27: Software testing
Page 28: Software testing

Integration Testing• Bottom –Up Testing

•Bottom –Up integration as it name implies starts at the lowest level in the program structure.

Page 29: Software testing
Page 30: Software testing

Functional TestingFunctional testing is the testing to

ensure that the specified functionality required in the system requirements works.

it is not concerned about the source code of the application.

Page 31: Software testing

Functional TestingWhat do you test in Functional Testing?

The prime objective of Functional testing is checking the functionalities of the software system.

Mainline functions: Testing the main functions of an application

Basic Usability: It involves basic usability testing of the system. It checks whether an user can freely navigate through the screens without any difficulties.

Page 32: Software testing

Functional Testing Accessibility: Checks the accessibility of the

system for the user

Error Conditions: Usage of testing techniques to check for error conditions. It checks whether suitable error messages are displayed

Page 33: Software testing