Quality is not only about not releasing bugs to production, it is much more than that. Quality is a product that is user-friendly, easy to access and use, has high performance/short load time, and is about code that is stable and easy to maintain.

Jette Pedersen gave a talk about how to ensure good quality products at Swiss Testing Day 2020.

Testing at eBay Denmark is done on different levels to increase user experience, as Pedersen explained:

User testing, where we for example go out and talk to users and ask them to use/look at a prototype, will give us more insights of the users’ needs and thoughts, and whether or not they understand our thoughts with the product. Performance tests will tell us if our site performs within our expectations. A/B testing will tell us which variant of what we have built the user likes best.

Pedersen mentioned that to make sure they are testing the right things, they use test design techniques. An example is to use equivalence testing combined with boundary value analysis. This will make sure that you test all valid/invalid partitions only once, and that all boundaries on each partition are tested with the right values for the valid/invalid partitions.

Instead of trying to come up with a total solution from the start, eBay Denmark does a lot of experiments to find the right way to build products. They set up a hypothesis, for example:

If we offer our users a new privacy product

Then we will increase seller NPS

Because they can choose if they want to show their home address or not

Next, they tried out a fake door test to find out if users would buy the product. The test showed that the users wanted the product, so they built it and then started their A/B split testing to find the right layout.

InfoQ interviewed Jette Pedersen, senior QA software engineer at eBay Denmark, about ensuring quality, dealing with risks that impact quality, what they have learned about quality, and enabling quality thinking throughout the whole process.

InfoQ: How can we ensure good quality for our products?

Jette Pedersen: We need to think about quality from the beginning of a project or task. To ensure that we build something that the user can and will use, we do a lot of experimentation, but before we start that, we need to think about different things.

  • Who do we build it for?
  • Are there special demands for performance?
  • What are the requirements, and are they known to us at the stage of the project we are in?
  • Are there any UI changes?
  • What is the risk assessment for the area we are working in?
  • New security precautions should also be taken into consideration

All of this we talk through in a kick-off at the early start of the project.

When the product is being developed, we often use TDD and pair programming. This helps us to share knowledge and quickly overcome any obstacles that come along the way.

To be able to ensure that we get fast feedback if anything breaks in production, we also talk about if we should set up monitoring and which kind of test automation is needed.

A rule of thumb is that all high risk and some medium risk areas (if possible) should be covered by some kind of automated test.

#user interface #agile conferences #testing #quality #user experience #culture & methods #development #news

Ensuring Software Quality at eBay Denmark
1.20 GEEK