Software Testing

Download Report

Transcript Software Testing

Software Testing
Łukasz Wojcieszek s2690
Tomasz Wyrzuc s2675
Agenda
•
•
•
•
•
What is testing?
Types of Testing
System test
Tools
Common mistakes
What is testing ?
„Testing is the process of executing a
program with the intent of finding errors”
Dr Glen Myers
Major Terms
• Verification
• Validation
Main Testing Goals
• Detection and deletion of errors in
applications
• Evaluation of software reliability
Audit
• Review and evaluation of software done
by independent organization, testers
(whatever)
Inspection
• This form of testing is specialized in
detailed evaluation of source code, whole
project or a component. It is done by
special group of people (not authors).
Types of Testing
• Error detection
• Dynamic test
• Static test – based on source code
analyzes
• Static test – based on detection of
common mistakes
Types of Testing 2
• Functional Tests – black box
• Structural Tests – white box
What also should be tested?
• System efficiency
• Used Hardware Resources
• System Protection
• System Interface
What also should be tested?
• Portability
• Software maintainability
• Software security
• Susceptibility for modifications
What also should be tested ?
• Documentation quality
• Efficiency during heavy system load
• User satisfaction
Heavy load test
• Stress test
• Robustness test
White Box testing
… our goal is to
ensure that all
statements and
conditions have
been executed at
least once …
Black Box testing
Reliability measurements
• Probability of wrong executions
• Frequency of errors
• Time between errors
• Accessibility
Typical Errors
•
•
•
•
•
•
Uninitiated variables
Index out of table bounds
Errors in conditional instructions
Never-ending loops
Improper use of brackets
Wrong operations on pointers
System tests
• Upward testing
• Downward testing
Loop testing
Recommendations of choosing entrance
data:
• Minimal number of iterations
• Maximum number of iterations
• Average number of iterations
Testing tools
• Debuggers
• Coverage analysers
• Comparators
Debuggers
• Useful for inner testing and testing by
people not connected with project.
• Rules of white-box testing
• Debugger properties
Coverage analysers
•
•
•
•
Summing data from few testing processes
Projecting steering graphs
Shows information about coverage
Operating in environment of software
development
Comparators
• Allow to compare two programs, files, to
show similarities and differences
• Often used to compare testing results with
expected results
Best Practices
• Basic Practices
• Foundational
• Incremental
Common mistakes
•
•
•
•
•
The Role of Testing
Planning the Testing Effort
Personnel Issues
The Tester at Work
Technology Rampant
Main testing results
• Improved code, project, model and
requirements specification
• Testing processes report
• Estimation of software reliability and costs
of maintenance
Software testing - related links
•
•
•
•
•
•
•
http://www.aptest.com/resources.html
http://www.testingeducation.org/coursenotes/
http://www.sqatester.com/
http://testingfaqs.org/
http://www.spmn.com/16CSP.html
http://www.bullseye.com/webCoverage.html
..........
The End
SYSTEM CRASH!