Software Selection and Use
Software Selection and Use
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
different problems
APPLICATION SOFTWARE
Application Software • Application Software
includes programs that do real work for user.
properly. •
It consists of the basic operations as follows:
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
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
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.
18
Black Box or White Box?
19
Testing Application Controls
Black Box Approach - understanding
flowcharts, input procedures, & output results
White Box Approach - understanding the
integrity is maintained.
Boundary conditions are tested.
Basis path testing should be used.
All error handling paths should be tested.
21
Generating Test Data
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
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
30