Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675.
Transcript of Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675.
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!