Software Engineering Week 15 16
Software Engineering Week 15 16
Software Testing
What is a computer bug?
• In 1947 Harvard University was operating a room-sized computer
called the Mark II.
• mechanical relays
• glowing vacuum tubes
• technicians program the computer by reconfiguring it
• Technicians had to change the occasional vacuum tube.
• A moth flew into the computer and was zapped by the high voltage when it
landed on a relay.
• Defect • Failure
• Fault • Inconsistency
• Problem • Product Anomaly
• Error • Product Incidence
• Incident
• Feature
• Anomaly
• Variance
Sources of Problems
• Unit Testing
• Integration Testing
• Validation Testing
Regression Testing
Alpha Testing
Beta Testing
• Acceptance Testing
• Real Time Testing
Unit Testing
• results in integrating many modules at the same time rather than one
at a time
• The whole program does not exist until the last module is
integrated
• ALAC (Act-like-a-customer)
Test Types
• Functional tests
• Algorithmic tests
• Positive tests
• Negative tests
• Usability tests
• Boundary tests
• Startup/shutdown tests
• Platform tests
• Load/stress tests
Concurrent Development/ Validation
Testing Model
• The same tests that were run during informal validation are
executed again and the results recorded.
• For each bug fixed, the SPR identifies the modules that were
changed to fix the bug.
• Questions to be answered:
• How many tests are needed?
• How long will it take to develop those tests?
• How long will it take to execute those tests?
• Topics to be addressed:
• Test estimation
• Test development and informal validation
• Validation readiness review and formal validation
• Test completion criteria
Test Estimation
• Matrix test
SRS Estimated Notes
Reference Number of
Tests
Required
4.1.1 3 2 positive and 1 negative test
4.1.2 2 2 automated tests
4.1.3 4 4 manual tests
4.1.4 5 1 boundary condition, 2 error
conditions, 2 usability tests
…
Total 165
Estimated Test Development Time
2. Processes
a. Management
b. Acquisition
c. Supply
d. Development
e. Operation
f. Maintenance
Validation Test Plan
IEEE – Standard 1012-1998 (cont’d)
3. Reporting Requirements
4. Administrative Requirements
5. Documentation Requirements
6. Resource Requirements
7. Completion Criteria
Test documents
• Test plan
• Quality objectives, resource needs, schedules, assignments,
methods, etc.
• Test cases
• Inputs and expected outputs.
• Bug reports
• E.g., the Bugzilla web-based bug tracker.
• Test tools and automation
• Metrics, statistics, and summaries
• Number of unresolved bugs, mean time to repair a bug, etc.
What to look for when interviewing someone
for the position of software tester