0% found this document useful (0 votes)
30 views

Software Selection and Use

Uploaded by

Ali Hamza
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)
30 views

Software Selection and Use

Uploaded by

Ali Hamza
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/ 30

Software Testing Strategies

By LECTURER TAHIR MAQSOOD

1
Define Software
Software • “A set of instructions given to the
computer to solve a problem is called
Software.”
 “Software is a single/collection of programs

that performs a particular task.” • Software is


also called Program.
 Different software's are used to solve

different problems
APPLICATION SOFTWARE
 Application Software • Application Software
includes programs that do real work for user.

 Application Software is created to perform


specific tasks for a user. It is also known as
application package.
 Application software is used to perform

various applications on the computer.


System Software
• System Software is set of programs to
control and manage the operations of a
computer hardware. •
 It enables application programs to execute

properly. •
 It consists of the basic operations as follows:

▫ Saving data on disk .


Acquiring Software
 Freeware
◦ Free to all
◦ Copyrighted
◦ Distributed in machine-readable format
 Shareware
◦ Freely distributed for a trial period
◦ Pay a nominal fee to register with the author
Acquiring Software
 Public-domain software
◦ Un-copyrighted
◦ May be used or altered without restriction
◦ Generally developed under government grants
 Open-source
◦ Free to all
◦ Source code is distributed
◦ May be used or altered
◦ Popular under the LINUX OS
Acquiring Software

 Commercial software
◦ Used most often
◦ Copyrighted
◦ Generally costly
◦ May not be copied without permission of the
manufacturer
Purchasing Commercial Software
Individuals
 Software warehouse store
 Mail order
 Electronic software distribution
Purchasing Commercial Software
Businesses
 Volume discount
 Site license
 Network versions
 Application Service Provide (ASP)
◦ Software is setup and maintained by ASP
◦ Access the software over the Internet
◦ Pay per use
◦ Saves the expense of installing and maintaining the
software
Software Development Focus

 Ease of use
 Personal use programs
◦ Personal time organizers
◦ To-do list makers
◦ E-mail programs
 Internet access
Business Software

 Custom-written to
meet special
business needs
 Standard packages
 Combination of
custom-written and
off-the-shelf
Software Piracy

 Making illegal copies of copyrighted software


 Why the fuss?
◦ Very easy to duplicate software vs. a text book
◦ Software company may lose hundreds of dollars
per pirated copy
 Prosecution
◦ Yes: Small-medium sized business who purchase
a few copies and distribute to many users
◦ No: Individual users who probably would not have
purchased software on their own anyway
SOFTWARE STRATEGIES AND
APPROACHES
Strategic Approach to Testing - 1
 Firstly arrange the components and perform
integration of the entire computer-based
system.
 Use different techniques for different
testing's.
 The developer of the software conducts
testing and may be assisted by independent
test groups for large projects.
 The role of the independent tester is to
remove the conflict of interest , when the
builder is testing his or her own product.

14
Strategic Approach to Testing - 2
 Debugging must be accommodated in any
testing strategy.
 Need to consider verification issues
◦ are we making right product at right time?
 Need to Consider validation issues
◦ are we building the right product according to the
user assessment?

15
Strategic Testing Issues - 3
 Build robust software that is designed to test
itself (e.g. use anti-bugging).
 Use effective formal reviews as a filter prior to

testing.
 Conduct formal technical reviews to assess

the test strategy and test cases.

16
Stages of Testing
 Module or unit testing.
 Integration testing,
 Function testing.
 Performance testing.
 Acceptance testing.
 Installation testing.

17
Unit Testing

 Program reviews.
 Formal verification.
 Testing the program itself.

◦ black box and white box testing.

18
Black Box or White Box?

 BLACK BOX TESTING, also known as


Behavioral Testing, is a
software testing method in which the internal
structure/design/implementation of the item
being tested is not known to the tester.
These tests can be functional or non-
functional, though usually functional.

19
Testing Application Controls
 Black Box Approach - understanding
flowcharts, input procedures, & output results
 White Box Approach - understanding the

internal logic of the application


◦ authenticity (access) tests
◦ accuracy tests
◦ completeness tests
◦ redundancy tests
◦ audit trail tests
◦ rounding error tests
Unit Testing Details
 Interfaces tested for proper information
flow.
 Local data are examined to ensure that

integrity is maintained.
 Boundary conditions are tested.
 Basis path testing should be used.
 All error handling paths should be tested.

21
Generating Test Data

 Ideally want to test valid and invalid inputs


 Equivalence partitioning it often required to

reduce to infinite test case sets


◦ Every possible input mentioned in parent and sub-
classes
◦ Each point is representative of class.

22
Regression Testing
 Regression testing is a type of software
testing that ensures that previously
developed and tested software still
performs the same way after it is changed
or interfaced with other software.

23
Integration Testing
 Bottom - up testing
 Top - down testing.
 Modified top - down testing - test levels

independently.
 Big Bang.
 Sandwich testing.

24
Top-Down Integration Testing

 Main program used as a test driver and stubs are


substitutes for components directly subordinate
to it.
 Subordinate stubs are replaced one at a time
with real components (following the depth-first
or breadth-first approach).
 Tests are conducted as each component is
integrated.
 On completion of each set of tests and other
stub is replaced with a real component.
 Regression testing may be used to ensure that
new errors not introduced.
25
Bottom-Up Integration Testing
 Low level components are combined in
clusters that perform a specific software
function.
 A driver (control program) is written to
coordinate test case input and output.
 The cluster is tested.
 Drivers are removed and clusters are
combined moving upward in the program
structure.

26
Validation Testing
 Ensure that each function or performance
characteristic conforms to its specification.
 Deviations (deficiencies) must be negotiated
with the customer to establish a means for
resolving the errors.
 Configuration review or audit is used to
ensure that all elements of the software
configuration have been properly
developed, cataloged, and documented to
allow its support during its maintenance
phase.

27
Acceptance Testing Approaches
 Benchmark test.
 Pilot testing.
 Parallel testing.

28
System Testing
 Recovery testing
◦ checks system’s ability to recover from failures
 Security testing
◦ verifies that system protection mechanism
prevents improper penetration or data alteration
 Stress testing
◦ program is checked to see how well it deals with
abnormal resource demands
 Performance testing
◦ tests the run-time performance of software

29
Debugging

 Debugging (removal of a defect) occurs as


a consequence of successful testing.
 Some people better at debugging than
others.
 Is the cause of the bug reproduced in
another part of the program?
 What “next bug” might be introduced by
the fix that is being proposed?
 What could have been done to prevent this
bug in the first place?

30

You might also like