No regression bugs

How to ensure that there is no regression bugs while introducing new features?

Here are my thoughts:

1. Knowledge Sharing

Developers need to have the knowledge about the whole product, especially about how the feature he or she is responsible is being used.

No one would intend to make the code broken unless for political reasons, such as avoiding dependencies.  We can argue that the developers are careless.  However, in my experience, most of the cases, lake of the knowledge is the reason.

2. Document the dependencies

Release notes for your software

Release notes are created for the released versions of the software.

It should describe

  • What are the new features ?
  • What bugs are fixed?
  • What are the known issue?

Other optional sections

Support Timezone

What is a timezone?

A timezone is a region that shares the same interpretation of time based on their relative position on Earth to Sun.

Why do we have timezones?

A moment for people on Earth are the same, but people describe the moment differently.  For some people, such as me, who is living in San Francisco Bay Area, the time is 3PM now, but for people living in India, it is 3:30AM in the morning.  Also, timezone change the way how to view their date within the calendar.  For me, it is June 10, 2016, but for people living in Bangalore, India, it is June 11, 2016 already although many of them have not yet waked up.

When people look at the evnts happened in the past or the events should happen in the future, they may want to describes the time.  Time components of a timestamp data helps describing the time when the event happened or should happen.  It is the reason why we need to support timezone.  It helps accurately describing the time.  If you just need to roughly describe the time at the "date" or "month" level, you do not need to mention time zone.


Identify test plan availability for each bug

It was a good practice followed by QA in the company I worked before.

It is enforced by the QA manager but also known by several Dev Managers.  It is for close loop analysis.

Identify testing scenarios as part of defining the requirement

When defining the requirement, it is also the time to define the acceptance criteria.  The requirement is about "I want the system to be able to do...".   When I started writing requirements, I also try to start with the sentence "You should be able to ...".

For example, the requirement is "You should be able use the same password to login to BI as the password used to login to Apps".  The testing scenario will be: