0% found this document useful (0 votes)
30 views34 pages

Testing The System

The document discusses different types of software testing including unit, integration, system, and acceptance testing. It defines test cases and scenarios, and describes techniques like black box, white box, and grey box testing.

Uploaded by

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

Testing The System

The document discusses different types of software testing including unit, integration, system, and acceptance testing. It defines test cases and scenarios, and describes techniques like black box, white box, and grey box testing.

Uploaded by

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

Testing the System

SYSTEMS ANALYSIS AND

DESIGN: YEAR 2
Definition
• Software testing is a process, to
evaluate the functionality of
a software application with an
intent to find whether the
developed software met the
specified requirements or not and to
identify the defects to ensure that
the product is defect free in order to
produce the quality product.
TEST DATA Vs TEST CASES
• Test data is the data that is used
in tests of a software system. ...
When test data is entered the
expected result should come and
some test data is used to verify the
software behavior to invalid
input data. Test data is generated
by testers or by automation tools
which support testing.
TEST CASES AND TEST
SCENARIOS
• Test Case: In software engineering,
a test case is a set of conditions or
variables under which a tester will
determine if a requirement upon an
application is partially or fully
satisfied. It is given as an input to
test whether functionality is working
fine or not.
Test Scenarios: 
• Scenario testing is done to make sure that the
end to end functioning of software is working
fine or all the business process flows of the
software are working fine. In scenario testing
the testers put themselves in the end users
shoes and figure out the real world scenarios
or use cases which can be performed on the
software by the end user. The testers take
assistance from clients, stakeholders and
developers to create test scenarios.
Difference between Test case and Test scenario:

• Test case consist of a set of input values,


execution precondition, expected results and
executed post condition, developed to cover
certain test condition. While Test scenario is
nothing but a test procedure.
• A Test Scenarios has one or many relations
with Test Case, meaning a scenario can have
multiple test cases. Each time we have to write
test cases for test scenario. So before testing
first prepare test scenarios then create two
different test cases for each scenario.
DIFFERENCES…
• Test cases are derived (or written) from
test scenario. The scenarios are derived
from used cases.
• Test Scenario represents a series of
actions that are associated together. While
test Case represents a single (low level)
action by the user.
• Scenario is thread of operations where as
Test cases are set of input and output
given to the System.
9.1 Principles of System Testing
Source of Software Faults During Development
Principles of System Testing System Testing Process

• Function testing: does the integrated system perform as promised by the requirements specification?

• Performance testing: are the non-functional requirements met?

• Acceptance testing: is the system what the customer expects?

• Installation testing: does the system run at the customer site(s)?


9.1 Principles of System Testing
System Testing Process

• Pictorial representation of steps in testing process


9.1 Principles of System Testing
Regression Testing

• Identifies new faults that may have been introduced as current one are

being corrected

• Verifies a new version or release still performs the same functions in the

same manner as an older version or release


Principles of System Testing
The Consequences of Not Doing Regression Testing

• A fault in software upgrade to the DMS-100 telecom switch

– 167,000 customers improperly billed $667,000


Black Box Testing:

• Black Box Testing is a method of Software


Testing also called Behavioral Testing. The
main function of black box testing is to
test the interior design/implementation of
an item which cannot be known to the
tester. The name itself says that the
tester who is going to test the product
will give input and examine the output
results without having the prior
knowledge of source code.
Black Box Testing helps to determine the following aspects:

• Finding errors at the initial and final


stage
• Optimizing the interface errors
• Checking errors or missing functions
• To check and verify the errors in the
external database
Advantages of Black Box Testing:

• More Efficient and Suitable for large


code segments
• No need for any Coding or
Programming knowledge
• A large number of testers can test the
software application without prior
knowledge on programming or
operating system
• Design of Test Cases
Disadvantages of Black Box Testing:

• Only limited coverage of application


as the tester cannot target specific
code segment
• Test cases are difficult to design as
the tester doesn’t have prior
knowledge on specifications and
coding
• Some possible inputs will only be
tested
White Box Testing:

• White Box Testing is one of the methods of 


software testing also known as Open Box
Testing, Transparent Box Testing or Glass Box
Testing. It is defined as a testing method in
which the tester can able to test the internal
functions of a product with prior programming
knowledge under specific conditions. The
major role of this testing is to study the whole
internal structure of a software product and
need to find out the inappropriate unit code.
Advantages of White Box Testing:

• It helps to optimize the whole


internal source code as the tester is
having programming knowledge
• Almost all paths of a software
product will be covered
• As the tester is having programming
knowledge it will be easy to find out
the inappropriate unit code
Disadvantages of White Box Testing:

• Requires highly skilled testers and


debugging tools
• Results will be more efficient but
according to resources it may
become expensive
• Even though all paths of the source
code will be covered there may be a
chance of missing to find out hidden
errors
Grey Box Testing:

• It comes from the combination of the


black box and white box testing. Grey Box
Testing is also one of the methods of
software testing. It helps to test the
partial or limited paths of the internal
structure of a software application. It is
known as Gray Box or semi-transparent
box testing. The name itself says that the
tester can access limited paths of an
application
Advantages of Grey Box Testing:

• The main advantage is that the tester


can perform either black box
technique or white box technique
even both
• Testers don’t need to rely on the
source code
• As there is a limitation of software
testing, the tester can able to design
perfect test cases or scenarios
Disadvantages of Grey Box Testing:

• As there is no full access of source


code, the tester can able to cover a
limited area of the software application
• There may be a chance of occurring
redundant if the designer already
starts the test case
• The major disadvantage is that
software product cannot be tested fully
as there are limitations
Function Testing
Purpose and Roles

• Compares the system’s actual performance with its requirements

• Develops test cases based on the requirements document


Performance Tests
Purpose and Roles

• Used to examine

– the calculation
– the speed of response
– the accuracy of the result
– the accessibility of the data
• Designed and administrated by the test team
Performance Tests
Types of Performance Tests

• Stress tests
• Environmental tests

• Volume tests
• Quality tests

• Configuration tests
• Recovery tests

• Compatibility tests
• Maintenance tests

• Regression tests
• Documentation tests

• Security tests
• Human factors (usability) tests

• Timing tests
Reliability, Availability, and Maintainability
Definition

• Software reliability: operating without failure under given condition for a given time interval

• Software availability: operating successfully according to specification at a given point in time

• Software maintainability: for a given condition of use, a maintenance activity can be carried out

within stated time interval, procedures and resources


Reliability, Availability, and Maintainability

Different Level of Failure Severity

• Catastrophic: causes death or system loss

• Critical: causes severe injury or major system damage

• Marginal: causes minor injury or minor system damage

• Minor: causes no injury or system damage


Acceptance Tests
Purpose and Roles

• Enable the customers and users to determine if the built system

meets their needs and expectations

• Written, conducted and evaluated by the customers


Acceptance Tests
Types of Acceptance Tests

• Pilot test: install on experimental basis

• Alpha test: in-house test

• Beta test: customer pilot

• Parallel testing: new system operates in parallel with old system


9.6 Installation Testing

• Before the testing

– Configure the system

– Attach proper number and kind of devices

– Establish communication with other system

• The testing

– Regression tests: to verify that the system has been installed properly and works
Test Documentation
Documents Produced During Testing
Test Documentation
Test Plan

• The plan begins by stating its objectives, which should

– guide the management of testing

– guide the technical effort required during testing

– establish test planning and scheduling

– explain the nature and extent of each test

– explain how the test will completely evaluate system function and performance

– document test input, specific test procedures, and expected outcomes


9.8 Testing Documentation
Test-Requirement Correspondence Chart
Requirement 2.4.1: Requirement 2.4.2: Requirement 2.4.3:
Generate and Selectively Retrieve Produced Specialized
Maintain Database Data Reports
Test

1. Add new record X

2. Add field X

3. Change field X

4. Delete record X

5. Delete field X

6. Create index X

Retrieve record with a requested

7. Cell number X

8. Water height X

9. Canopy height X

10. Ground cover X

11, Percolation rate X

12. Print full database X

13. Print directory X

14. Print keywords X

15. Print simulation summary X

You might also like