You are on page 1of 16

Why do we need testing? Why do defects occur in software? What do software faults cost? What is software testing?

ng? Testing as part of development Skills of a good tester

Core constituent of modern products and services. Collection of computer related programs, procedures, and algorithms which provides the system what to do and how to do it.

Is a process-centered approach to ensure that a company or organization is providing the best possible products or services.

To reduce and mitigate risk. To find the most important faults before the software is released to live operation.

Customer/user Competitor Magazine editor/blogger Systems integrator Potential

Partner
Subcontractor employee

Software is written by human beings. Under increasing pressure to deliver to strict deadlines. Software is complex

Education Communication Oversight Transcription Process

Huge sums Very little or nothing at all Software is not linear

Is a process, or a series of processes, designed to make sure computer code does what it was designed to do and that it does not do anything unintended.

Trying out if the system works Trying to break the system Finding and reporting defects Demonstrating correct functionality Demonstrating incorrect functionality Demonstrating reliability, security, and maintainability Measuring performance and reliability Evaluating and measuring quality Proving the software is correct Executing pre-defined test cases Automatic error detection

Often, testing is seen as some separate, last phase of software development process That can be outsourced to separate testing team That only deeds to be done just before the release if there is any time Testing can not be separated from rest of the software development Testing is much more than the final acceptance testing phase Testing has to be involved from the beginning Testers can, and should, contribute in each phase of the software development life-cycle Testing is not a phase

Testers (destructive) attitude and mindset Excellent communication skills Ability to manage many details Know the different testing techniques and strategies and know when and how to apply them Be familiar with the domain the software is targeted Comprehensive knowledge of the software engineering discipline Knowledge and experience of how software is specified, designed, and developed Knowledge of fault and failure types

You might also like