
Unit
and System Testing for Distributed
Software Developers
2
Days
This
course is designed for testers and software developers who want to
learn how to test distributed software at
the unit and system levels.
The
course covers both functional
and structural testing, with numerous examples and templates. The
processes and techniques taught in the course are reinforced with
examples and exercises based on distributed software development
processes, tools and languages.
You will
learn the terminology, process, and challenges of testing in the real
world.
As a
result of attending this seminar,
you should have a good working knowledge of unit testing and what it
takes to design and conduct an effective unit test of distributed
software, such as that developed in Microsoft Visual Studio using
languages such as Visual Basic and Visual C++.
Who
Should Attend
- Software
developers
- QA
and Test Managers
- Test
analysts
- Testers
Return
on Investment
- Learn
how to find software defects early in the development lifecycle before
they become more costly and risky to fix.
- Understand
how to design a unit and system test.
- Learn
which tools can help you perform testing more effectively.
- Get
developers involved in testing.
- Advance
your career by reinforcing your testing expertise.
Program
Information
This course is presented on an
in-house basis only unless offered as a special public course. Contact us
for information about how to bring this course into your organization.
Topics
Module
1 - Introduction to Unit Testing
- What
is Testing?
- The
Economics of Testing - The 1:10:100 Rule
- When
Should Testing be Performed?
- Testing
and Risk
- Key
Testing Concepts
Module
2 - Testing Prerequisites and Terminology
- Test
Phases - Unit, Integration, System and User Acceptance Testing
- The
Workbench Model
- Defects
- Requirements
- Verification
and Validation
- Functional
(Black box) testing
- Structural
(White box) testing
- Independent
Testing
- Developer
Testing
- What
Unit Testing Should Cover
- What
Unit Testing Should Include
- Unit
Test Approach
- Unit
Test Techniques
- Unit
Testing Responsibilities
- GUI
Challenges and Considerations
- Web
Considerations and Challenges
- Object-oriented
Challenges and Considerations
Module 3 - Unit
Testing Process for Distributed Applications
- Step 1 - Planning
- Functional tests
- Structural tests
- Step 2 - Define Tests
- Functional tests
- Boundary Value Tests
- Equivalence classes
- Decision tables
- Requirement-based
cases
- Error forcing
- Environmental
test
- Configuration
- Compatibility
- Integration
- Interoperability
- Behavioral
tests
- Usability
- Reliability
- Security
- Structural test coverage measures -
statement, branch, condition, multi-condition and path
- Test scripts
- Step 3 - Create and Maintain Test Data
- Step 4 - Execute Tests
- Drivers and stubs
- Functional tests
- Regression testing
- Structural tests
- Step 5 - Check Results
- Compare actual to expected results
- Report defects
- Step 6 - Evaluate Results
- Summarize
- Evaluate
- Recommend
Module 4 - System Testing for Distributed
Applications
- What is System
Testing?
- System Test Planning
- Identifying System
Test Objectives
- Identifying System
Functions to Test
- Identifying
Critical Requirements
- Identifying System
Interfaces
- Writing System Test
Scripts
- Writing System Test
Cases
- Profiling for
Performance Testing
- Building the System
Test Matrix
- Identifying System
Test Schedules and Resources
- Finalizing the
System Test Plan
- A Representative
System Test Plan Outline
- Manual System Test
Methods
- Defect Reporting
- The Role of the
Defect Administrator
- Evaluating the
System Test
Module 5 -
Regression Testing
- What is Regression Testing?
- Example: No Regression Testing vs. Regression
Testing
- The Regression Testing Process
- What's Needed?
- Regression Testing Issues
- How Much Regression Testing is Enough?
- Tips for Performing Regression Testing
Module 6 - Unit and System Test Tools for
Distributed Software
- What is a Test Tool?
- The Risks of Not Automating Testing
- The Risks of Automating Testing
- Where Do Tools Fit In?
- The Major Issues
- The Top 10 Test Tools
- Interactive Test/Debug
- Structural
Test
- Capture/Playback
- Memory
Test
- Stress
and Load Testing
- Defect
Tracking
- Test
Data Generators
- Test
Management
- Coverage
Analyzers
- Checklists
- Critical Success Factors
Module 7 - Building and Using the Distributed Test
Environment
- Considerations in
Building Distributed Test Environments
- How to Configure an
Isolated Test Environment
- Security Issues
- How to Create and
Maintain Test Data
- Configuration/Release
Management
- What is Version
Control?
- The Process for
Configuration/Release Management
Module 8 - Test
Management and Summary
- Test Management
Considerations
- Maintenance
Considerations
- Test Measurement
- Key Seminar Points
Resources
- Checklists and
Templates
- Glossary
- Bibliography
- Helpful Web Sites
Deliverables
- Course notebook
with slides, worksheets, checklists, complete examples and supporting
text
- You will have the
basic information needed to plan and execute a unit and system test.
All
materials on this site
copyright 1996 - 2009, Rice Consulting Services, Inc.
Rice
Consulting Services, Inc.
P.O. Box 892003
Oklahoma City, OK 73189
405-691-8075