Sorry, you need to enable JavaScript to visit this website.

Adaptive quality assurance system: our approach to Drupal testing

This article aims to explore an adaptive quality assurance system as Attico's approach to Drupal testing and delivering high-class products.

Adaptive quality

Introduction

High quality of development is a key aspect that determines product success.

The meaning of “quality” is broader than just the absence of errors; it entails compliance with development standards that guarantee the proper level of security and convenience for end users. In this article, we’ll talk about Attico’s quality assurance standards for a consistent delivery of high-class products. These standards serve as the foundation of our development process, guiding every stage from conception to delivery.

Our approach to adaptive quality assurance

Over a decade of experience in delivering projects of varying complexity has allowed Attico to develop a well-thought-out system for bug prevention. It includes thorough requirement analysis, meticulous design, the use of best practices, manual and automated testing, as well as continuous monitoring.

The Attico’s quality system covers:

Quality system

Each item deserves a separate post, but today we’ll dwell more on only several components of our adaptive quality assurance system.


Requirement testing

Requirement testing is a testing approach that ensures compliance with specifications and the realization of the client’s business goals. It plays a crucial role in creating a high-quality product and involves active interaction between developers, testers, and stakeholders to ensure that each product feature accurately reflects the original tasks and expectations.

This type of testing helps identify and refine ambiguities or deficiencies in requirements before development begins. Finding and resolving problems early on reduces the amount of work needed to fix bugs and saves money in the long run. Not only does requirement testing enhance product quality but also fosters closer and more productive teamwork, ensuring transparency of processes and clarity of goals at all stages of development.


Quality contract

The quality contract, crafted based on client requirements, serves as a fundamental tool for ensuring transparency and managing expectations throughout the development process. It helps us avoid a common problem: discrepancies between what the client requested and what the development team delivered.

Introducing a quality contract allows every project participant — from designers and developers to project managers and testers — to have a consistent understanding of project goals and success criteria. This ensures the integrity and consistency of processes, promotes more efficient team collaboration, and ultimately leads to the creation of a product that fully meets client and end-user expectations.


Feature prioritization

Prioritization helps determine which features are more important for achieving business goals and satisfying user needs.

In case of limited time, budget, or human resources, it helps identify where to allocate efforts most effectively for maximum impact. This significantly reduces time to market and provides data for creating test sets and subsequent development of automated tests.


Exploratory testing

Exploratory testing is, perhaps, the most indispensable tool for improving the user experience in Agile environments, with the need to act here and now. It can be conducted only by experienced QA specialists who can discover bugs and explore the system beyond the scripted test cases.

Testers act as software explorers, learning, designing, and running tests on the fly. They use the error guessing technique, involving their experience and intuition, to thoroughly explore the product and anticipate potential problems, thus enabling work that’s efficient manyfold.

Exploratory testing

E2E automated tests

Automated tests cover the entire path that a user can take through the application or system, from initial interaction to final results, simulating real product usage.

This type of testing is particularly valuable for complex systems where multiple components and services must interact with each other. It ensures that all parts of the system work together seamlessly. For business-critical functions such as order processing, payments, registration, and login, E2E testing is a key tool in ensuring their reliable operation.

Adaptability as a philosophy

The main advantage of a multi-component quality assurance system is its adaptability, which allows us to tailor it to the needs of each specific project, and if necessary, to the goals of each specific task. By assessing the project size, its current stage of development, client expectations, priorities, development timelines, and budgets, we generate the optimal combination of QA components.

As an example, let’s consider three types of projects at different stages of development:

  • Startup, development from scratch: For startups, it’s essential to quickly enter the market with an MVP, so feature prioritization and functional testing come first. The format of exploratory testing allows for flexible adaptation to changes and enables quick comprehensive checks.
  • Large business, project under enhancement: For projects undergoing enhancement, it’s critically important to test requirements and prioritize features to ensure that new features align with business goals and do not disrupt existing functionality. Regression checks help mitigate the risk of new features affecting existing functionality.
  • Enterprise: For enterprise projects, where maximum stability and reliability are required, E2E automated tests enter in the first place as they allow for the automation of complex business processes under conditions that closely resemble real-world scenarios. Requirement testing and quality contracts ensure a clear understanding and adherence to business and technical requirements.

Wrapping up

With the world of technology being constantly evolving, quality assurance methodologies that were effective yesterday may become obsolete tomorrow. The rapid development of the software market requires teams to continuously update their set of testing tools and methodologies and reconsider their approaches to quality assurance.

Choosing an adaptive approach to quality assurance is a choice in favor of sustainable development and project success. Not only does it allow for effective responses to changes, but it also actively contributes to shaping the future of technology by creating products that set new standards of quality and convenience for users.

Interested to learn more about our QA services? Schedule a demo call with our specialists today.

Article Authors

Vladimir Dmitriev
Vladimir Dmitriev Head of QA Unit
Strategic thinker with strong communication and leadership skills. Skilled in driving and implementing initiatives to increase the effectiveness of the QA team.

Let’s talk!

Whether you have a small urgent task, or a large ambitious project, we can help