0% found this document useful (0 votes)
16 views16 pages

Ch8. Testing Short

Chapter 8 discusses software testing, which aims to verify that a program functions as intended and identifies defects before deployment. It outlines three main stages of testing: development testing, release testing, and user testing, each with specific focuses and methodologies. The chapter emphasizes the importance of automated testing, regression testing, and user involvement in ensuring software quality.

Uploaded by

mabbas20031
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)
16 views16 pages

Ch8. Testing Short

Chapter 8 discusses software testing, which aims to verify that a program functions as intended and identifies defects before deployment. It outlines three main stages of testing: development testing, release testing, and user testing, each with specific focuses and methodologies. The chapter emphasizes the importance of automated testing, regression testing, and user involvement in ensuring software quality.

Uploaded by

mabbas20031
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/ 16

Chapter 8 – Software Testing

30/10/2014 Chapter 8 Software Testing 1


Program (Software) testing

 Testing is intended to show that a program does what it is


intended to do and to discover program defects before it is put
into use.

 When you test software, you execute a program using


artificial data.

 Can reveal the presence of errors NOT their absence.

 Testing is part of a more general Verification & Validation


(V&V) process.
30/10/2014 Chapter 8 Software Testing 2
A model of the software testing process

30/10/2014 Chapter 8 Software Testing 3


Stages of testing

1. Development testing: the system is tested during


development to discover bugs and defects.
• A bug is the result of a coding error
• A defect is a deviation from the requirements

2. Release testing: a separate testing team tests a


complete version of the system before it is released to
users.

3. User testing: users or potential users of a system test


the system in their own environment.
30/10/2014 Chapter 8 Software Testing 4
1. Development testing

 Development testing includes all testing activities that


are carried out by the team developing the system:
a) Unit testing
b) Component testing
c) System testing

30/10/2014 Chapter 8 Software Testing 5


a) Unit testing

 Unit testing is the process of testing individual components


in isolation.

 Units may be:


 Individual functions or methods within an object
 Object/Classes with several attributes and methods
 …

30/10/2014 Chapter 8 Software Testing 6


Automated testing

 Whenever possible, unit testing should be automated so


that tests are run and checked without manual intervention.

 In automated unit testing, you make use of a test


automation framework (such as JUnit) to write and run your
program tests.

 Unit testing frameworks provide generic test classes that


you extend to create specific test cases.

30/10/2014 Chapter 8 Software Testing 7


b) Component testing

 Software components are often composite components


that are made up of several interacting objects.

 You access the functionality of these objects through the


defined component interface.

 Testing composite components should therefore focus


on showing that the component interface behaves
according to its specification.
https://www.linkedin.com/pulse/component-testing-vs-interface-inte
gration-vimal-singh
30/10/2014 Chapter 8 Software Testing 8
c) System testing

 System testing during development involves integrating


components to create a version of the system and then
testing the integrated system.

 The focus in system testing is testing the interactions


between components.

 System testing checks that components are compatible,


interact correctly and transfer the right data at the right
time across their interfaces.

30/10/2014 Chapter 8 Software Testing 9


Regression testing

 Regression testing is testing the system to check that


changes have not ‘broken’ previously working code.

 In a manual testing process, regression testing is


expensive but, with automated testing, it is simple and
straightforward. All tests are rerun every time a change is
made to the program.

 Tests must run ‘successfully’ before the change is


committed.

30/10/2014 Chapter 8 Software Testing 10


Release testing

30/10/2014 Chapter 8 Software Testing 11


2. Release testing

 Release testing is the process of testing a particular release


of a system that is intended for use outside of the
development team.

 The primary goal of the release testing process is to


convince the supplier of the system that it is good enough
for use.

 Release testing is usually a black-box testing process


where tests are only derived from the system specification.
Tester doesn’t know the internal structure of the code.
30/10/2014 Chapter 8 Software Testing 12
Release testing and system testing

 Release testing is a form of system testing.


 Important differences:
 A separate team that has not been involved in the system
development, should be responsible for release testing.

 System testing by the development team should focus on


discovering bugs in the system (defect testing). The objective of
release testing is to check that the system meets its
requirements and is good enough for external use (validation
testing).

30/10/2014 Chapter 8 Software Testing 13


User testing

30/10/2014 Chapter 8 Software Testing 14


3. User testing

 User or customer testing is a stage in the testing process


in which users or customers provide input and advice on
system testing.

 User testing is essential, even when comprehensive


system and release testing have been carried out.

30/10/2014 Chapter 8 Software Testing 15


Types of user testing

 Alpha testing
 Users of the software work with the development team to test
the software at the developer’s site.
 Beta testing
 A release of the software is made available to users to allow
them to experiment and to raise problems that they discover with
the system developers.
 Acceptance testing
 Customers test a system to decide whether or not it is ready to
be accepted from the system developers and deployed in the
customer environment. Primarily for custom systems.

30/10/2014 Chapter 8 Software Testing 16

You might also like