For over 5+ years we help companies reach their financial and branding goals. oDesk Software Co., Ltd is a values-driven technology agency dedicated

Gallery

Contacts

Address

108 Tran Dinh Xu, Nguyen Cu Trinh Ward, District 1, Ho Chi Minh City, Vietnam

E-Mail Address

info@odesk.me

Phone

(+84) 28 3636 7951

Hotline

(+84) 76 899 4959

Websites Development

Defining a continuous testing strategy

For the most business value, develop a testing program based on personas, best practices, and agile principles

Continuous testing is both a practice and a mindset. Developers and quality assurance specialists initiate the practice of continuous testing in the devops CI/CD (continuous integration/continuous development) pipeline, triggering a list of automated tests that run with every build and delivery. The mindset comes when developers, engineers, and quality assurance specialists collaborate on testing strategies and implementations.

This collaboration is critically important because many technology organizations do not adequately fund, dedicate resources, or schedule time for adequate testing. That means the development organization must establish a testing strategy that defines an optimal focus, implementation strategy, and ongoing support functions that fit within constraints.

Although development teams should create a holistic testing strategy, they also need a strategy specific to continuous testing for the following reasons:

  • Continuous testing is an optimal way to implement a shift-left testing strategy because it provides developers with feedback before code reaches a delivery environment. It is particularly important for running code quality and security analysis so that developers learn and adopt better coding practices.
  • It can be a more expensive investment since continuous tests have to be automated first, integrated into the CI/CD pipeline, and configured with alerts so that tools notify the right people of discovered issues.
  • Since these tests run during builds and delivery, teams have to be selective of the types of tests to implement and consider their running durations. Long-running tests are not optimal for continuous testing if they slow down developers and build pipelines.

The best way to review the trade-offs and implementation choices and for teams to collaborate on solutions is by aligning on a continuous testing strategy.

Define a persona-based continuous testing strategy

Let’s define a continuous testing strategy using an agile approach. When product owners create agile user stories, a best practice is to write them from the perspective of the end-user who is receiving value and benefiting from the implementation. These stories often start with the phrase “as a certain user type or user persona” to remind the agile development team who the customer is, why the implementation is important to them, and how the customer benefits.

Defining personas should be fundamental to the strategy since continuous testing has different people who benefit from the tests, and we have to prioritize what types of tests to implement. A few of these personas or stakeholders and their risk concerns include:

  • Developers who want to ensure code quality and that their code modifications do not break services or other areas of the code that have dependencies.
  • Operations teams concerned that code changes don’t introduce performance issues or impact the reliability of the application.
  • Information security teams who are interested in static code analysis, penetration tests, and other early indicators of whether new code or other changes create security risks.
  • Quality assurance specialists who represent the interests of the application’s end-users and the product owner. Testing APIs, functionalities, and browser and mobile user interfaces are their primary areas to validate that new, changed, and existing functionality all meet business requirements.
  • Architects who represent service and API quality and are the best people to define standards on whether new or changed protocols present a quality concern.
  • Database governance specialists concerned about whether developers inadvertently introduced new data quality or security issues in the build.

The agile development team must respond and correct issues when a CI/CD build fails, but what testing gets prioritized now has defined personas acting as stakeholders. These stakeholders should define their priorities on what risks and issues should get flagged to developers early and during the build pipeline.

Source: infoworld

Author

oDesk Software

Leave a comment