Testing World

General overview

Diego Gawenda
The Appraisal Lane Developers
4 min readJul 3, 2017

--

Why do we test?

It’s a way to assess the project’s stakeholders to take their decisions.

Why do we need software testing?

To review that what we create does what it’s supposed to do.

Something that works when one person is using it may not work when a lot of people are using it.

There’s always a chance that a user really will do that — no matter how silly it seems.

The space of things that people can do intentionally or unintentionally, innocently or malevolently, capably or erroneously, is huge.

There are lots of different devices, browsers, and operating systems out there.

It’s our responsibility to make sure it’s something we can be proud of and have confidence in.

What do we test?

“…what is essential is invisible to the eye.” — Antoine de Saint-Exupéry

We must also expose the product to reasonably foreseeable misuse, to stress, to the unexpected, and to the unpredicted.

Daily terms

Bug

  • Inconsistency in the system
  • Who matters this problem?
  • Priority

Test cases

  • A test case is a set of conditions or variables under which a user will determine whether a system under test satisfies requirements or works correctly

Smoke tests

Also known as “Build Verification Testing”, is a type of software testing that comprises of a non-exhaustive set of tests that aim at ensuring that the most important functions work

Advantages:

  • It exposes integration issues.
  • It uncovers problems early.
  • It provides some level of confidence that changes to the software have not adversely affected major areas (the areas covered by smoke testing, of course).

Regression tests

  • Regression testing is a type of software testing which verifies that software which was previously developed and tested still performs correctly after it was changed or interfaced with other software.

Functional and non-functional testing

  • Functionality testing is performed to verify that a software application performs and functions correctly according to design specifications
  • Some types of non-functional testing: performance, usability, security, data, internationalisation and localisation

White-Gray-black box testing

  • The kind of box testing depends on the knowledge about the internal structure of the product. For example: code, architecture and requirements.

Scripted & Exploratory testing

How do we work?

Agile testing

  • Software testing that follows the principles of agile development
  • Agile methodologies integrate the testing with all areas of the software development life cycle
  • Main value is the team. Agile methodologies go to the direction that the whole team does testing, in order add quality to the process of building the product.

Some agile principles

  • Meet customers expectations with early and iterative releases
  • Dynamic needing
  • Business responsibles, developers, testers and operations work together
  • Direct communication
  • Periodical retrospective to motivate continuous improvement

Final comments

There are a lot of unpredicted scenarios that are not described in the wished behaviour of a product that should be explored in order to better assess the quality.

This big challenge is what drives ourselves as testers that love what we do.

Resources: Why do we Test?!, 5 Reasons We Need Software Testing, Why Would a User Do THAT?, Including Testing in an Interdisciplinary Team, Software Testing Fundamentals, What are smoke testers used for?, Importance of Regression Testing in Software Development, What is Regression Testing? Regression Testing Tools and Best Practices, Giant Newfoundland Iceberg, White-box Testing vs. Black-box Testing, I have a dream…, Agile North 2016 Conference, Optical Illusions, App to you, Digital Spy, Automation of Software Testing, Open Device Lab

--

--