0% found this document useful (0 votes)
45 views32 pages

ST Unit-3

Uploaded by

oxnine2233
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views32 pages

ST Unit-3

Uploaded by

oxnine2233
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 32

Software Testing

Presented by,
Bheema Shireesha
Assistant
Professor,
IIIT Ongole,
RGUKT-AP
Test Case Design

Test case design refers to how you set-up your test cases.
Designing good test cases ensure that every aspect of your
software gets tested so that you can find and fix any issues.
Unit -III

Test Case Design


Unit-III : Test Case Design
Test case Design Strategies

Using Black Box Approach to Using White Box Approach to Test


Test Case Design design
– Random Testing – Test Adequacy Criteria
– Requirements based testing – static testing vs. structural testing
– Boundary Value Analysis – code functional testing
– Equivalence Class Partitioning – Coverage and Control Flow Graphs
– State-based testing – Covering Code Logic

– Cause-effect graphing – Paths – code complexity testing

– Compatibility testing – Evaluating Test Adequacy Criteria

– user documentation testing


– domain testing
Introduction

Software components have defects, no matter how well our


defect prevention activities are implemented.
Developers cannot prevent/eliminate all defects during development.
Therefore, software must be tested before it is delivered to users.
It is the responsibility of the testers to design tests
That
(i)reveal defects, and
(ii)can be used to evaluate software performance, usabilty, and
reliability
To achieve these goals, testers must select a finite number of test

cases.

Unfortunately, testing is usually performed under budget and time constraints.

Testers often are subject to enormous pressures from management and

marketing because testing is not well planned, and expectations are

unrealistic.
The smart tester must plan for testing, select the test cases, and monitor the
process to insure that the resources and time allocated for the job are utilized
effectively

Goal of the smart tester is to understand the functionality,


input/output domain, and the environment of use for the code
being tested.

For certain types of testing, the tester must also understand in


detail how the code is constructed.
Finally, a smart tester needs to use knowledge of the types of
defects that are commonly injected during development or
maintenance of this type of software.
Test Case Design
A good test case design technique is crucial to improving the quality of the
software testing process.

- Test case design refers to how you set-up your test cases. it is important
that your tests are designed well , or you could fail to identify bugs and
defects in your software during testing.

Designing good test cases ensure that every aspect of your software gets
tested so that you can find and fix any issues.
A basic example of test case design

Title : Login to the website or app

Description: User should be able to successfully log in to their account on

the website / app

Preconditions: User must already be registered and use their correct login

details.

Assumptions: They are using a supported device or browser to log in


Test Steps:

1. Open website or App

2. Enter username and password in the appropriate fields.

3. Click “Login”

Expected Result : The user should log in successfully.


What is test case??

A test case has components that describe input action and an expected

response, in order to determine if a feature of an application is working

correctly.

A test case is a set of instructions on how to validate a particular test

objective/target , which when follwed will tell us if the expected behavior

of the system is satisfied or not.


TEST CASE DESIGN STRATEGIES
The ability to develop effective test cases is important to an organization

evolving a higher-quality testing process.

It has many positive consequences.

For example, if test cases are effective there is

• a greater probability of detecting defects

• a more efficient use of organizational resources

• a higher probability for test reuse

• closer adherence to testing and project schedules and budgets, and,

• the possibility for delivery of a higher-quality software product.


The Main purpose of test case design techniques is to test the functionalities

and features of the software with the help of effective test cases.

The test case design techniques are broadly classified into three

major categories.

1.Black box Test (or) functional or specification Test

2.White box Test (or) sometimes called clear or glass box test

3. Experience - Based Techniques


Black Box Testing
Black box testing involves testing a system with no prior knowledge of

its internal workings. A tester provides an input, and observes the output

generated by the system under test.

- This makes it possible to identify how the system responds to expected and

unexpected user actions, its response time, usability issues and reliability issues.

Black box testing is a powerful testing technique because it exercises a

system end-to-end. Just like end-users “don’t care” how a system is coded or

architected, and expect to receive an appropriate response to their requests, a

tester can simulate user activity and see if the system delivers on its promises.
It is a Software Testing method that analyses the functionality of a
software /application without knowing much about the internal
structure/design of the item that is being tested and compares the input value
with the output value.
The main focus in Black Box Testing is on the
functionality of the system as a whole.
- The term ‘Behavioral Testing’ is also used for Black Box
Testing.
- Behavioral test design is slightly different from the black-
box test design because the use of internal knowledge isn’t
strictly forbidden, but it’s still discouraged.
- Each testing method has its own advantages and
disadvantages.
- There are some bugs that cannot be found using the only
black box or only white box technique.
- Majority of the applications are tested by Black Box
method. - We need to cover the majority of test cases so that
most of the bugs will get discovered by a Black-Box method.
- This testing occurs throughout the software development
and Testing Life Cycle
Black box test design technique:

Procedure to derive and/or select test cases based on an


analysis of the specification, either functional or non-
functional, of a component or system without reference to its
internal structure.
This method is named Black Box Testing so because the
software program, in the eyes of the tester, is like a black box
inside which one cannot see.

This method attempts to find errors in different categories


Various parameters/catagories checked in black box testing are:

• Incorrect or missing functions


• Accurate actions performed by users
• System’s interaction with the inputs
• The response time of the system
• Use of data structures Issues in the user interface
• Usability issues
• Performance issues
• Abrupt application failure, unable to start or finish
Example

• A tester, without knowledge of the internal structures of a


website, tests the web pages by using a browser, providing
inputs (clicks, keystrokes) and verifying the outputs against
the expected outcome.
Levels:
Black Box Testing method is applicable to the following
levels of software testing:

- Unit Testing
- Integration Testing
- System Testing
- Acceptance Testing
- Regression Testing stages
Types Of Black Box Testing

Practically, there are several types of Black Box


Testing that are possible . but if we consider the major
variant of it then below mentioned are the three fundamental
ones.

- Functional testing
- Non - Functional testing
- Regression Testing
Functional Testing
Deals with the functional requirements or
specifications of an application. Here, different actions or
functions of the system are being tested by providing the
input and comparing the actual output with the expected
output.

For Example:
when we test a Dropdown list, we click on it and verify
that it expands and all the expected values are showing in
the list.
Few major types of Functional Testing are:

• Smoke Testing
• Sanity Testing
• Integration Testing
• System Testing
• Regression Testing
• User Acceptance Testing
Non-Functional Testing
Apart from the functionalities of the requirements,
there are several non-functional aspects as well that are
required to be tested to improve the quality and performance
of the application.

Few major types of Non-Functional Testing include:

• Usability Testing
• Load Testing
• Performance Testing
• Compatibility Testing
• Stress Testing
• Scalability Testing
Regression testing

Regression Testing is performed after code fixes,


upgrades or any other system maintenance to check the new
changes has not affected any existing functionality.
Black box testing example:

A simple login screen of software or a web application will be tested


for seamless user login.
- The login screen has two fields, username and password as an input and the
output will be to enable access to the system.

A black box testing will not consider the specifications of the code, and it will
test the valid username and password to login to the right account.

This form of testing technique will check the input and output.

- A user logged in when inputs a present username and correct password


- A user receives an error message when enters username and incorrect
password
- The black box testing is also known as an opaque, closed box,
function-centric testing. It emphasizes on the behavior of the
software.
- Black box testing checks scenarios where the system can break.

For example,
user might enter the password in the wrong format, and a
user might not receive an error message on entering an incorrect
password.
Various approaches to black-box testing

Manual UI Testing: In this approach, a tester checks the system as a user.


Check and verify the user data, error messages.

Automated UI Testing: In this approach, user interaction with the system is


recorded to find errors and glitches.

Documentation Testing: In this approach, a tester purely checks the input and
output of the software. Testers consider what system should perform rather
than how. It is a manual approach to testing.
Black Box Testing Techniques

• Boundary Value Analysis


• Equivalance class partitioning
• Random Testing
• Requirements based Testing
• State Based Testing
• Cause - effect Graph
• Compatibility testing
• User Documentation Testing
• Domain Testing
Thank You

You might also like