PhD project

GuideGen overview

During my PhD, I tackled a common but often overlooked challenge in software development: keeping requirements and acceptance tests aligned as the system evolves. And yes—requirements always evolve!

When requirements change, their associated acceptance tests should change too. But in reality, misalignment happens all the time. Why? Because updates are often poorly communicated, test cases are manually maintained, and stakeholders get left in the dark. This leads to bugs being reported for features that were intended—just not clearly communicated.

To address this, I developed GuideGen, a method and a tool that:

a. Automatically guides testers on how to adapt acceptance tests when requirements change.

b. Notifies stakeholders in real time (via email) when changes happen.

c. Raises warnings when mismatches between requirements and tests are detected.

The goal? To maintain quality and clarity in fast-moving projects—and to make sure everyone stays on the same page.

Method

The goal of the approach is to identify all relevant changes in requirements that require the associated acceptance tests to be adapted and to generate guidance in natural language on how to adapt the acceptance tests based on these changes.

An overview of the approach:

GuideGen Overview

As soon as a requirements engineer applies changes to a requirement and saves them, my approach:

  1. Identifies relevant change patterns: by comparing the old and the new version of the changed requirement I identify the elements that have been changed and their change types.
  2. Generates guidance: in this step, I formulate suggestions in natural language on how to manage the changes.
  3. Notifies subscribed parties: finally, the generated guidance and the changes can be communicated to the interested parties via email. In addition, in the UI of our application, all non-aligned tests are flagged so that all stakeholders are aware of mismatches between the requirements and acceptance tests.

The GuideGen Tool

GuideGen is a web application, written in Java using Servlet and JSP technology. It is deployed on Apache Tomcat. On the one hand, GuideGen supports requirements engineers in maintaining the requirements of a system and in communicating all changes of requirements to testers, developers and other interested parties on-time and with almost no effort. On the other hand, GuideGen supports testers, who maintain acceptance test documents, by providing them with guidance on how to modify impacted tests so that they stay aligned with the modified requirements. In addition, by flagging all non-aligned acceptance tests, any stakeholder can easily see which acceptance tests are currently mis-aligned with their corresponding requirement - be it that tests do not exist yet or that they have not been updated after changes in the requirements.

View my five minute demo video below, prepared for the ICSE 2018 demonstrations track. For the corresponding tool demo paper, see the publications list below.

Hey there! Ask me anything about Sofija.
Chat Icon