Fundamentals of Testing

An introduction view into testing process to improve the effectiveness and efficiency of testing efforts.

Medellín Test Analysis Community

Natalia Salazar Ramírez

Tester

Douglas Urrea Ocampo

Tester

Medellín Test Analysis Community

Next

Talks!

  • Testing throughout the Software Development Lifecycle

  • Phases of Testing

  • Test techniques and their characteristics

  • Essential features of Test Management

  • Agile Testing Strategy

  • Best practices of Mobile Testing

... and more!

Agenda

  • What is Testing? 

  • Why is Software Testing Important? 

  • Typical Objectives of Testing

  • Seven Principles of Software Testing

  • Errors, Defects, and Failures

  • The Psychology of Testing

What is Testing?

T

Software systems are an integral part of life, from business applications (e.g., banking) to consumer products (e.g., cars)

E

Software testing also helps to identify errors, gaps or missing requirements

S

Software that does not work correctly can lead to many problems, including loss of money, time, or business reputation, and even injury or death

T

Software testing is a way to assess the quality of the software and to reduce the risk of software failure in operation

Agenda

  • What is Testing?

  • Why is Software Testing Important? 

  • Typical Objectives of Testing

  • Seven Principles of Software Testing

  • Errors, Defects, and Failures

  • The Psychology of Testing

Why is Software Testing Important?

Saves money

A trustworthy product

Accelerate the development

Customer satisfaction

Why is Software Testing Important?

Agenda

  • What is Testing?

  • Why is Software Testing Important? 

  • Typical Objectives of Testing

  • Seven Principles of Software Testing

  • Errors, Defects, and Failures

  • The Psychology of Testing

Typical Objectives of Testing

To evaluate work products such as requirements, user stories, design, and code

To validate whether all specified requirements is complete and works as the users expect

To prevent defects and find failures

 To reduce the level of risk of software quality

 To comply with contractual, legal, or regulatory requirements 

Agenda

  • What is Testing?

  • Why is Software Testing Important? 

  • Typical Objectives of Testing

  • 7 Principles of Software Testing

  • Errors, Defects, and Failures

  • The Psychology of Testing

7 Principles of Software Testing

Testing is FUN

7 Principles of Software Testing

1

Testing shows the presence of defects, not their absence

Exhaustive testing is impossible

2

Early testing saves time and money

3

7 Principles of Software Testing

4

Defects cluster together

Beware of the pesticide paradox

5

Testing is context dependent

6

Absence-of-errors is a fallacy

7

Agenda

  • What is Testing?

  • Why is Software Testing Important? 

  • Typical Objectives of Testing

  • 7 Principles of Software Testing

  • Errors, Defects, and Failures

  • The Psychology of Testing

Errors, Defects, and Failures

A person can make an ERROR (mistake), which can lead to the introduction of a DEFECT (fault or bug) in the software. Once the product is deployed and end user finds an issue then that particular issue is called as FAILURE.

What is a defect?

The variation between the actual results and expected results is known as defect.

What is a failure?

A failure is incorrect behavior that leads to not complying the specifications required by the end user.

Errors, Defects, and Failures

Why could occur Defects?

Complexity of the code, design or architecture

Time pressure

Inexperienced or insufficiently skilled

Changing requirements

Poorly documented code

Errors, Defects, and Failures

How to prevent Defects?​

Adopt efficient programming techniques

Implement a good code review process

Code reviews should be done on a regular basis to assess code quality

Define and use effective software development methodologies

Good documented requirements

Errors, Defects, and Failures

Tell us an experience!

Agenda

  • What is Testing?

  • Why is Software Testing Important? 

  • Typical Objectives of Testing

  • 7 Principles of Software Testing

  • Errors, Defects, and Failures

  • The Psychology of Testing

The Psychology of Testing

Software Development & Software Testing go hand in hand.

Developer must think of one good way to make things work; a Tester strives to imagine 1000 ways it could fail.

Testers require to acquire other skills with a different outlook and mindset.

The Psychology of Testing

A software Tester must think differently than a developer 

Keen Observation

Eye for detail

Detective Skills

Be more analytical

Destructive Creativity

Break the Software

Customer Perspective

Adopt a customer oriented perspective

Objective & Neutral Attitude

Report honestly every Bug

Organized, Flexible, Patience

Changes come rapidly

The Psychology of Testing

What other skill should a tester have?

Questions ?

Activity

Thank you!

Natalia Salazar Ramírez

Tester

Douglas Urrea Ocampo

Tester

Fundamentals of Testing

By Douglas Fugazi

Fundamentals of Testing

Talk about of fundamentals of testing by Endava MED Testing Community

  • 40