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

Chapter 6 SW Testing

Integration testing involves testing modules together in executable combinations to test interfaces between modules and the integrated assembly's interface with its environment. It is an iterative process of integrating sub-assemblies into larger assemblies and testing the system as a whole. A test plan is needed to coordinate integration testing and consider factors like complex modules, past problems, and available resources.

Uploaded by

MD HOSSAIN
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
75 views

Chapter 6 SW Testing

Integration testing involves testing modules together in executable combinations to test interfaces between modules and the integrated assembly's interface with its environment. It is an iterative process of integrating sub-assemblies into larger assemblies and testing the system as a whole. A test plan is needed to coordinate integration testing and consider factors like complex modules, past problems, and available resources.

Uploaded by

MD HOSSAIN
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 30

SOFTWARE QUALITY

ASSURANCE
(BISE 3033)
CHAPTER 6

 Software Testing
Integration Testing
 Integration testing is an intermediate phase
between unit testing and system testing
 Involves testing the modules in executable
combination (exe file)
 Is an iterative process involving the testing of sub-

assemblies which are repeatedly integrated into


larger sub-assemblies culminating in the testing of
the system as a whole
 Two aspects to consider:
 The testing of interfaces between modules
 The testing of the interface between the integrated
assembly and its environment
Integration Testing
 Each of the following modules, shown below in the
application's control flow chart, has finally passed unit
testing standards. How do you plan to conduct integration
testing?

B C D E

F G H I J K

L M
User Interface Testing
 User Interface Validation
 paper prototypes made early are great

 User Interface Evaluation


 Expert / Heuristic Evaluation
 Label Testing
 is a "rose" still a rose by any other name?
User Interface Testing
 User Interface Testing
 Cognitive Walkthroughs
 Usability Testing
 hopefully the SRS specifically defines usability criteria

 Random Testing
 automated random key/mouse presses
What's the problem?

http://homepage.mac.com/bradster/iarchitect/color.htm
Dialog Boxes
Cognitive Walkthroughs
 Participants
 real end user - sits at keyboard and performs tasks
 evaluator - takes notes and asks questions, mostly quiet
 developer - probably hidden or watches video
 Results
 effectiveness
 Will the user associate the next action with the appropriate
interface control?
 Will the user notice an action is available?
 If the correct action is performed, will the user see that
progress is being made toward solution of the task?
Heuristics
 Simple and natural dialogue
 Aesthetic and minimalist design
 Speak the user's language
 Minimize user memory load
 Recognition rather than recall
 Consistency
 Feedback
 Visibility of system status
 User control and freedom
 Clearly marked exits
 Shortcuts and Flexibility
 Good error messages
 Help users recognize, diagnose, and recover from errors
modified from http://en.wikipedia.org/wiki/Heuristic_evaluation
Validation Testing
 Alpha Testing

 Beta Testing
Alpha Test Beta Test

What they do Improve the quality of


the product, integrate
Improve the quality of
customer input on the
the product and
complete product, and
ensure beta readiness.
ensure release
readiness.
When they happen Toward the end of a
Just prior to launch,
development process
sometimes ending
when the product is in
within weeks or even
a near fully-usable
days of final release.
state.
How long they last Usually very long and Usually only a few
see many iterations. weeks (sometimes up
It’s not uncommon for to a couple of months)
alpha to last 3-5x the with few major
length of beta. iterations.
Alpha Test Beta Test

Who cares about it Usually involves


product marketing,
Almost exclusively
support, docs, quality
quality/engineering
and engineering
(bugs, bugs, bugs).
(basically the entire
product team).
Who participates Normally performed by
(tests) test engineers, Tested in the “real
employees, and world” with “real
sometimes “friends customers” and the
and family”. Focuses feedback can cover
on testing that would every element of the
emulate ~80% of the product.
customers.
Alpha Test Beta Test

What testers should Plenty of bugs, crashes, Some bugs, fewer


expect missing docs and crashes, most docs,
features. feature complete.
How they’re addressed Much of the feedback
Most known critical collected is considered
issues are fixed, some for and/or implemented
features may change or in future versions of the
be added as a result of product. Only
early feedback. important/critical
changes are made.
What they achieve About methodology, About chaos, reality,
efficiency and regiment. and imagination. Beta
A good alpha test sets tests explore the limits
well-defined of a product by allowing
benchmarks and customers to explore
measures a product every element of the
against those product in their native
benchmarks. environments.
System Testing
 A complex activity that aims to test the system as a
whole
 Initially system testing is concerned with proving that
the system works correctly as a whole:
 it is merely a higher level of integration testing
 once this has been demonstrated to developers to their own
satisfaction, the process broadens in a number of
dimensions
 First
 the performance of the system rather than correctness
 Second
 test on the business system
 Third
 demonstrate technical correctness in the eyes of users
System Testing (cont..)

 System testing involve a broad range of users i.e.


true users, their managers, system support
staff, computer operations staff and auditors
 Many of the problems of system testing are not

technical problem, but problems of communication


and human nature.
 Those problems must have been dealt with

continuously throughout design and development.


 If not, system testing is likely to be not the finale of

development.
Regression Testing Retesting

Regression testing is a type of software Retesting is done to make sure that the
testing that intends to ensure that tests cases which failed in last
changes like defect fixes or execution are passing after the defects
enhancements to the module or against those failures are fixed.
application have not affecting
unchanged part.
Regression testing is not carried out on Retesting is carried out based on the
specific defect fixes. It is planned as defect fixes.
specific area or full regression testing.
In Regression testing, you can include In Retesting, you can include the test
the test cases which passed earlier. We cases which failed earlier. We can say
can say that check the functionality that check the functionality which was
which was working earlier. failed in earlier build.
Regression test cases we use are Test cases for Retesting cannot be
derived from the functional specification, prepared before start testing. In
the user manuals, user tutorials, and Retesting only re-execute the test cases
defect reports in relation to corrected failed in the prior execution.
problems.
Regression Testing Retesting

Automation is the key for regression You cannot automate the test cases for
testing. Retesting.
Manual regression testing tends to get
more expensive with each new release.
Regression testing is right time to start
automating test cases.
Defect verification is not comes under Defect verification is comes under
Regression testing. Retesting.

Based on the availability of resources Priority of Retesting over Regression


the Regression testing can be carried testing is higher, so it is carried out
out parallel with Retesting. before regression testing.
And the glue that holds it all
together…

 The Test Plan


 who

 what
 when
 where
 how
Test Plan Considerations
 What are the critical or most complex modules?
 make sure they get integration tested first
 probably deserve white-box attention

 Where have you had problems in the past?


 What training is required?
 conducting formal reviews
 use of testing tools
 defect report logging
IEEE 829 - Standard for
Software Test Documentation
Recommends 8 types of testing documents:
1. Test Plan
 next slide
2. Test Design Specification
 expected results, pass criteria, ...
3. Test Case Specification
 test data for use in running the tests
4. Test Procedure Specification
 how to run each test
5. Test Item Transmittal Report
 reporting on when components have progressed from one stage of
testing to the next
6. Test Log
7. Test Incident Report
 for any test that failed, the actual versus expected result
8. Test Summary Report
 management report
Test Plan Contents (IEEE 829 format)

1. Test Plan Identifier 11. Test Deliverables


2. References 12. Remaining Test Tasks
3. Introduction 13. Environmental Needs
4. Test Items 14. Staffing and Training Needs
see next slide
15. Responsibilities
5. Software Risk Issues
16. Schedule
6. Features to be Tested
17. Planning Risks and
7. Features not to be Tested Contingencies
8. Approach 18. Approvals
9. Item Pass/Fail Criteria 19. Glossary
10. Suspension Criteria and
Resumption Requirements

http://en.wikipedia.org/wiki/Test_Plan
Test Items
 Requirements Specification
 Design
 Modules
 User/Operator Material
 the user interface
 User Guide
 Operations Guide
 Features
 response time, data accuracy, security, etc
 System Validation
 alpha and beta testing
The V-Model
 The V-Model of software development illustrates
when testing activities should take place
 The test at each level exercise the corresponding
development activity-the same principles apply
no matter what software life cycle model used
 The most important factor for successful
application of the V-Model is the issue of when
the test cases are designed
 The test design activity always find defects in
whatever the tests are designed against

26
The V-Model (cont..)
 For example:
 Designing acceptance test cases will find defects
in the requirement
 Designing system test cases will find defects in the
functional specification
 Designing integration test cases will find defects in
the design
 Designing unit test cases will find defects in the
code
 If test design is left until the last possible
moment, these defects will only be found
immediately before those tests would be run,
when it is more expensive to fix them

27
The V-Model (cont..)

Requirements test Acceptance


s test
Functions test
System test
s
Design test Integration test
s
Write test Code Unit Run
test
s test tests

28
Tool Support for Life-Cycle
Testing
 Tool support is available for testing in every
stage of the software development life cycle
 It helps to derive test inputs or test data

29
Progress….
 Pre-Project Activities
 how will we define quality
 contract review
 writing a plan for quality assurance
 Development Activities
 Formal Reviews, Peer Reviews, unit testing, integration testing
 Test plan You are here
 Infrastructure Needs and Management Tasks
 Procedures and Work Instructions
 Training
 Configuration Control
 Tracking Progress
 Preventative Actions
 CMM
Thank You

You might also like