Introduction to Software Testing

When to consider that a software has bugs?

  1. do the product specification doesn't mention
  1. doesn't do the product specification doesn't mention but should
  1. difficult to understand, hard to use, or anything that a tester view as not right to end user
  1. do a thing that the product specification says shouldn't

Reasons bugs occur in Software Development

volatile requirements(requirement always change)

missing requirements / requirements are not well documented

lack of communication

Definition of Software Testing

a process by which people, methods, measurements, tools and equipment are integrated to test a software product

Process : a quality process and planning determines the success of the test effort

People : need trained and skilled people with the right and positive attitudes(professional discipline)

Methods : different methods and techniques to be applied

Measurements : calculate the quality of software product

Tools and Equipments : variety tools to make testing more efficient and faster

Basic Forms of Testing

Validation : requirements for a specific intended use have been fulfilled

Verification : specified requirements have been fulfilled

Objectives of Software Testing

  • To produce a quality software product, which the software can be used and used successfully
  • To bring the tested software, after correction of identified errors and retesting(implementation), to an acceptable level of quality
  • To identify & reveal as many errors as possible in the tested software
  • To compile a record of software errors for use in error preventation
  • To perform the required tests efficiently and effectively, within budgetary and scheduling limitations

General Failure Terminology(include relationship)

  1. Fault : incorrect behavior of program in response to real-world resulting from errors
  1. Failure : system does not perform required function within specified limits
  1. Error : human action produce incorrect result

Relationship : A person makes an error -> leading to a fault in the program -> causing a failure in operation

Critical Choices

  • When to test? : test early
  • How to test? : test effectively and cost-effectively
  • What to test? : Test right things

Fundamental of Test Process

  • Test implementation and test execution
  • Test evaluation of the test exit criteria
  • Test analysis and test design
  • Post testing activities : Review
  • Test Planning and Control

Types of Software Testing

System Testing

Performance Testing

regression Testing

Integration Testing :

User Acceptance Testing

  • Unit Testing :

Usability Testing

Good Tester

relentless

creative

troubleshooters

good judgement

tactful and diplomatic

explorers

  • does not meet product specification says