Software testing

Post on 02-Dec-2014

67 views 1 download

Tags:

description

What is software testing,what are its types and how it is done.

Transcript of Software testing

A PRESENTATION ON

Software TestingGuided By- Presented By-Sumanjit Das Abhishek GautamTapaswani Nayak Sagarkanya Priyadarsini

What is software Testing

According to the ANSI/IEEE 1059 testing is the process of analyzing a software item to detect the differences between existing and required conditions (that is defects/errors/bugs) and to evaluate the features of the software item.

Defect, Error and Bug

Defect- It is the difference between expected and actual result in the context of testing. It is the deviation of the customer requirement.

Bug- A programming error that causes a program to work poorly, produce incorrect results, or crash. 

Error- This is cause due to human actions like code is not following the standard, there is some mistake in syntax, or there is mistake in invocation of variable or might be there is some mistakes in which database connectivity code is faulty.

 

Objective of software testing

Software testing helps to make sure that it meets all the requirement it was supposed to meet.

It will bring out all the errors, if any, while using the software.

Software testing helps to understand that the software that is being tested is a complete success.

Software testing helps to give a quality certification that the software can be used by the client immediately.

It ensures quality of the product.

Testing ways

Testing can done in two ways---

Positive software testing

Negative software testing

Positive Software Testing

Positive software testing is the testing by giving the expected data to know whether it works well with expected data.

Positive software testing is the usual testing done to check the functionality of the software.

Negative Software Testing

Negative software testing is testing by giving what is unexpected to know how the software reacts to such a data.

It is also known as illegal testing since the testing is using a abnormal data.

Negative software testing is always giving us a positive view about software testing itself. It helps us to know the software behaves as it is required to behave. The aim of a software tester should be to make the software fail. He should never think like a software maker.

Testing Methods

White-Box Testing

Black-Box Testing

White Box Testing

White box testing strategy deals with the internal logic and structure of the code.

It is also called as glass, structural, open box or clear box testing.

The tests written based on the white box testing strategy incorporate coverage of the code written, branches, paths, statements and internal logic of the code etc.

Advantages

As the knowledge of internal coding structure is prerequisite, it becomes very easy to find out which type of input/data can help in testing the application effectively.

It helps in optimizing the code.

It helps in removing the extra lines of code, which can bring in hidden defects.

Disadvantages

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.

It is nearly impossible to look into every bit of code to find out hidden errors, which may create problems, resulting in failure of the application.

Black Box Testing

Black Box Testing is testing without knowledge of the internal workings of the item being tested.

For example, when black box testing is applied to software engineering, the tester would only know the “legal” inputs and what the expected outputs should be, but not how the program actually arrives at those outputs.

Advantage

More effective on larger units of code than glass box testing.

Tester needs no knowledge of implementation, including specific programming languages.

Tester and programmer are independent of each other.

Tests are done from a user’s point of view . Will help to expose any ambiguities or

inconsistencies in the specifications. Test cases can be designed as soon as the

specifications are complete.

Disadvantage

Only a small number of possible inputs can actually be tested, to test every possible input stream would take nearly forever

Without clear and concise specifications, test cases are hard to design.

There may be unnecessary repetition of test inputs if the tester is not informed of test cases the programmer has already tried.

May leave many program paths untested. Most testing related research has been

directed toward glass box testing.

Testing Levels

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.

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

System Testing

System 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 with the specified requirements.

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.

Testing Types

Installation testing Compatibility testing Alpha testing Beta testing Usability testing Security testing Acceptance testing

Definitions

Installation testing is check that software application is successfully installed & it is working as expected after installation.

Compatibility testing is used to determine if your software application has issues related to how it functions in concert with the operating system and different types of system hardware and software.

Definitions..

An alpha test is a preliminary software field test carried out by a team of users in order to find bugs that were not found previously through other tests.

A beta test is the second phase of software testing in which a sampling of the intended audience tries the product out.

Definitions..

Usability testing refers to evaluating a product or service by testing it with representative users. Typically, during a test, participants will try to complete typical tasks while observers watch, listen and takes notes.

Security Testing is a type of software testing that intends to uncover vulnerabilities of the system and determine that its data and resources are protected from possible intruders.

Definitions..

Acceptance testing is the testing performed by the customer after the product delivery

to determine whether to accept or reject the delivered product.

Software Testing Tools list

SOURCE TEST TOOLSBoundsChecker

Bullseye Coverage Code Coverage

FUNCTIONAL TEST TOOLS Automate!Test Manager

Automated Test Designer AutoTester One Avignon

PERFORMANCE TEST TOOLS BugTimer

DB Stress LoadeaTest

Cont….

 JAVA TEST TOOLS Abbot

AdaptiveCells/J AgileTest Agitator AppPerfect DevSuite

DATABASE TEST TOOLS Data Generator Datatect ER/Datagen

Web Application Testing Tools List

LINK and HTML TEST TOOLSAccVerify/AccRepair

ChangeAgent CSE HTML Validator Cyber Spyder Link Test Dead Links HTML Candy

FUNCTIONAL TEST TOOLSactiWATE Astra QuickTestTM AutoTester One Badboy

Any Question

Thank You.