Work with Syful

Verified software is essential to successful releases

Performing software quality engineering at regular intervals throughout the software creation life cycle provides helpful insights to each role on the team.

Software quality engineering approach

See test plans in context and share them across the team

If you've ever had an idea to do something in another room, but forgotten about it as soon as you walked through the door, then you've experienced what's known as the doorway effect. This is when a change in visual context causes someone to forget the task that they were planning to do. This isn't limited to literal doorways, it also frequently occurs in software when there are abrupt transitions to completely different content.

The test plans created by Syful avoid this issue in part by publishing them alongside the product requirements. This lets each test be read in the context of the requirements and the other tests. It also facilitates the early surfacing of newly discovered use cases and test prerequisites to the rest of the team.

The product owner, designers, and programmers can then more easily support the quality engineer by providing feedback on the test development effort, additional use cases, and answers to tentative or direct questions. This helps to ensure that product requirements were communicated successfully, and that no scenarios were overlooked. If the team has committed to completing a fixed amount of work by a specific time, and the other work items are finished, the other members of the team can help with the final testing effort.

Identify the maximum number of test scenarios

This involves identifying the factors that are relevant to testing a particular feature, and generating all combinations of those factors. For example, test factors for a user could include:

  • Authentication state: unauthenticated, authenticated
  • Limit: within the limit, over the limit

Calculating the combinations of these factors yields these test cases:

  • Unauthenticated and within the limit
  • Unauthenticated and over the limit
  • Authenticated and within the limit
  • Authenticated and over the limit

Fulfill prerequisites to test as early as possible

Many of the scenarios that are discovered are important to test, but have dependencies that aren't feasible to meet using standard workflows.

Dependency examples include those involving large amounts of historical data, future trigger conditions, specific geographical locations, slow internet speeds, and incomplete parts of the workflow.

Testing early promotes the frequent creation of demo environments running the most relevant code.

It also offers quality engineers an opportunity to work with their test plan and the features that they will be working with prior to the final round of testing. This helps them to improve it by refining the test factors to the ones that are most likely to be relevant. And to more accurately describe the specific steps that need to be taken to fulfill the prerequisites and navigate the possible paths through the product.

Once the test plan has been refined, and the initial defects are fixed, the final round of testing can be completed faster and with better test coverage.

Create systems to reliably perform complicated tests

This includes using automatic difference checker tools, calculation spreadsheets, and programming languages to thoroughly validate data and copy.

Provide a higher resolution product understanding to the rest of the team

This approach enables insights from quality engineers to be shared with the product owner, designers, and programmers on their team.

Reuse newly discovered test scenarios

Surfacing a more complete list of use cases and defects to programmers earlier avoids duplicating use case discovery efforts. It also enables them to pivot to a more robust code architecture (including unit and feature tests) prior to sinking a lot of time and effort into one that would ultimately be revealed as non-viable.

The test plans can also be used to facilitate more productive demo sessions across the team.

Improve product requirements and documentation

Better demos help the product owner and designers to empathize with the end user and to model workflows that more accurately reflect how they will eventually engage with the product. They also highlight situations where requirements need to be updated because issues are occurring despite the software working according to the specifications.

Requirements often simply provide a high-level overview and leave the details to be discovered by the developers. But when the product owner and the designers are equipped with insights from testing, they are better able to include lower-level factors in their requirements. For example, including the use case of navigating backwards through a workflow, or detailing how requirements apply to accounts with varying levels of historical data.

Highlighting minor discrepancies between the design and the product helps a consensus to form between designers and programmers about which elements of the product need to exactly match the initial design documentation and which elements can be changed because of pragmatic code considerations.

Improve release estimate accuracy

Visibility into the size of the test plan and its completion percentage helps the team re-evaluate their initial estimates to more realistic ones.

How to get started

  1. Choose a time and date below to start the process of booking a consultation.
  2. Enter your name, email address, and any notes about the software to be tested.
  3. Select the Confirm button.
  4. Check your email.
  5. Meet for the initial consultation.
  6. Meet again to finalize details and begin the onboarding process.
  7. Complete the onboarding process and begin receiving software testing services.

Alternatively, you may book a consultation by navigating to https://cal.com/syful and continuing through the workflow.