We are aware of continuous testing by entering additional
and uninterrupted testing activities throughout the shipping pipe. In this way,
we validate the quality of small changes carried out on the application, and
detect and prevent defects at the beginning of the technical requirements and stages
of the software design. Analyzing the results of implementing sustainable
testing practices in my project, I can say that introducing even these elements
helps us increase the speed of the test process of 25% on average and improve
the quality of the software by 30%.
Below, I summarize the foundation of the Sapizon approach to
sustainable testing and register the practices we apply when preparing
continuous testing for customers who beat QA Sapizon.
Continuous testing
Sciencesoft Approach for Sustainable Testing
I divide all the continuous testing activities into what we
took before the actual development began and those we combined directly in the
development process.
Continuous testing approach
Preparation activities
Splitting software into a module
Large and combined applications consist of several
components that need to be compiled and used together cause difficulties for
continuous testing. To get fast feedback about the quality of applications like
that, we at Sapizon broke it into a module. We reward them based on functional
similarities (for example, dividing electronic stores into the module as a user
account and catalog management, checkout and payment, analytics and reporting,
etc.) and prioritize them based on business risk to test and use it
independently.
Take an optimized approach for infrastructure organizations
The incremental properties of continuous testing require a
special approach to infrastructure organizations, namely preparing continuous
integration / continuous shipping pipes. CI / CD pipes allow us to launch unit
tests and API and UI tests automatically throughout the life cycle of software
delivery and trigger this test without human involvement. My colleague Andy
Lipnitsky, consultant Devops in Sapizon, said that his preference tool to
prepare continuous integration / continuous shipping pipe was Jenkins, Bamboo,
and good.
Continuous testing practices are included during the development
Increase the share of testing at the unit and fire level
The software can be validated at the unit, fire, and UI levels.
And in the process of traditional testing, a larger test section lies in the
test team that manually validates software at the UI level. In such cases, the
software testing pyramid looks like this:
Traditional testing process
As for sustainable testing projects, in Sciencesoft, we
shift the larger part of the testing activities to the left, involving the development team in the QA process, which makes the software testing pyramid
look like this:
Continuous testing process
My colleague Vadim Belsky, the Head of Web Development in Sapizon,
explained the need to increase the volume of testing units: "Relatively
easy to write and take a few seconds to be executed, unit tests provide
reliable insights about the quality of changes introduced to an application and
help prevent bugs from entering the stage Next from the shipping cycle. To
ensure that the results of testing units are reliable, we store unit tests
regularly updated and put it in the practice of reviewing the general
application code. "
Also, in projects with sustainable testing characterized by
short release cycles and frequent changes, UI tests are quite difficult and
expensive to be maintained. Thus, we use a fire test as a primary means to
validate changes made to the application logic. Depending on the specific
project and application, I can choose to test the Manual or Automation testing Company with API or
choose a combination of both.
No comments:
Post a Comment