software testing Łukasz wojcieszek s2690 tomasz wyrzuc s2675

29
Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

Upload: buck-ryan

Post on 04-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

Software Testing

Łukasz Wojcieszek s2690

Tomasz Wyrzuc s2675

Page 2: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

Agenda

• What is testing?

• Types of Testing

• System test

• Tools

• Common mistakes

Page 3: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

What is testing ?

„Testing is the process of executing a program with the intent of finding errors”

Dr Glen Myers

Page 4: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

Major Terms

• Verification

• Validation

Page 5: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

Main Testing Goals

• Detection and deletion of errors in applications

• Evaluation of software reliability

Page 6: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

Audit

• Review and evaluation of software done by independent organization, testers (whatever)

Page 7: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

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).

Page 8: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

Types of Testing

• Error detection

• Dynamic test

• Static test – based on source code analyzes

• Static test – based on detection of common mistakes

Page 9: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

Types of Testing 2

• Functional Tests – black box

• Structural Tests – white box

Page 10: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

What also should be tested?

• System efficiency

• Used Hardware Resources

• System Protection

• System Interface

Page 11: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

What also should be tested?

• Portability

• Software maintainability

• Software security

• Susceptibility for modifications

Page 12: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

What also should be tested ?

• Documentation quality

• Efficiency during heavy system load

• User satisfaction

Page 13: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

Heavy load test

• Stress test

• Robustness test

Page 14: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

White Box testing

… our goal is to ensure that all statements and conditions have been executed at least once …

Page 15: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

Black Box testing

Page 16: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

Reliability measurements

• Probability of wrong executions

• Frequency of errors

• Time between errors

• Accessibility

Page 17: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

Typical Errors

• Uninitiated variables

• Index out of table bounds

• Errors in conditional instructions

• Never-ending loops

• Improper use of brackets

• Wrong operations on pointers

Page 18: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

System tests

• Upward testing

• Downward testing

Page 19: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

Loop testing

Recommendations of choosing entrance data:

• Minimal number of iterations

• Maximum number of iterations

• Average number of iterations

Page 20: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

Testing tools

• Debuggers

• Coverage analysers

• Comparators

Page 21: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

Debuggers

• Useful for inner testing and testing by people not connected with project.

• Rules of white-box testing

• Debugger properties

Page 22: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

Coverage analysers

• Summing data from few testing processes

• Projecting steering graphs

• Shows information about coverage

• Operating in environment of software development

Page 23: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

Comparators

• Allow to compare two programs, files, to show similarities and differences

• Often used to compare testing results with expected results

Page 24: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

Best Practices

• Basic Practices

• Foundational

• Incremental

Page 25: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

Common mistakes

• The Role of Testing

• Planning the Testing Effort

• Personnel Issues

• The Tester at Work

• Technology Rampant

Page 26: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

Main testing results

• Improved code, project, model and requirements specification

• Testing processes report

• Estimation of software reliability and costs of maintenance

Page 27: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

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• ..........

Page 28: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

The End

Page 29: Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675

SYSTEM CRASH!