Testing: An important part of the development process
By: Damian Gorný
Tags: Applifting, Bdd Development, Software Testing, Bdd, Testing

How do you test your apps before release? At Applifting, we try to have a tester on every project who ensures that the software we supply is top quality. Quality assurance (QA), and especially the testing it involves, is a very important element in product development, as we know from our experience here at Applifting. Unfortunately, it is also the most frequently overlooked step in the process.

Many companies don’t have a clear vision of how to deliver high quality applications. We often come across companies where the quality of the product rests on one “clicker”. He usually has his work cut out just handling cards in JIRA in order to implement all the new features by the end of the sprint. When releasing a new version of the application, he doesn’t know where to start with making sure the application works really well and is “bug-free”.

We know from our experience that testing has a huge impact on development. If we release an untested or poorly tested application, it can negatively affect customer satisfaction, which can result in losing users and thus money.

Automation and education

In general, if the tester “clicker” has to do the same tasks repeatedly, s/he will get “work blind”, and liable to make more errors. Luckily, a lot of the tester’s work can be automated, making the results faster and more accurate and enabling the tester to focus on a smaller number of the most important tasks.

The most common problem in this stage is that testing staff do not invest enough in self-education. As a result, many testers either stagnate or move into development roles instead. When the most experienced testers shift their focus to development, this leads to a lack of experienced QA experts in the labour market and slows down improvements to the testing process.

If you ever meet a senior QA engineer, s/he will probably be a consultant for large companies. Consultants like this do not usually push for big changes because it is difficult to convince managers of large corporations to adopt new methods and approaches. Yet although it is true that changes to the process initially require a slight increase in investment in QA, they save time and money in the long term. Continuing to work according to proven, established principles, remains slow, inefficient, and more expensive in the long run.

How can we escape this vicious circle? The best advice I can give from my own experience is not to be afraid and to have an open mind to new things and approaches. I can certainly recommend trying the BBD approach to software development in your company — I will tell you more about this shortly.

Ave, continuous testing

At Applifting, we keep up with technology and strive to incorporate the latest methodologies and tools that emerge in QA into our development process. We look for the latest agile methods and hunt out new tools so that we can move both ourselves and our clients forward.

Our goal is to deliver consistently high-quality software. How do we achieve that? Through continuous testing! Using the latest tools, we do our best to ensure CI / CD / CT: continuous integration, delivery, and testing. Why? By continuously testing the software we are developing, we avoid unnecessary delays in releasing the application and ensure fast feedback on the development in the current sprint.

What are the benefits of continuous testing?

Proper coverage of the tested product safeguards against most business risks.

Realistic evaluation of user experience and analysis of the impact on the end-user.

Preventing the occurrence of critical errors on the customer side, which could reduce trust in the product.

Less pressure on the tester before the application is released. Feedback at every stage of development.

And what do you need to watch out for?

How acceptance conditions for the release of the application are set up (if it does not pass the tests, the application must never be launched and never reach the user).

Continuous testing is part of the pipeline and DevOps tools.

It is important to have the test data set up correctly and the test environment ready.

The testing process must be continually optimized and business risk coverage maintained.

Of course, continuous testing will not save you on its own. But properly safeguarding against business risks through automated testing gives testers time to focus on more complex issues and think about in-depth testing strategies.

Other testing options

BDD (Behavior Driven Development) approach is one interesting modern software testing methodology. It emphasises the importance of involving development staff and the product manager in the process of ensuring high quality software delivery. According to BDD, test scenarios should be defined in cooperation with the product manager, the developer, and the QA / tester.

What BDD provides:

better communication across departments,

faster understanding of the product manager’s requests,

faster and more accurate implementation (frequent fixes are not necessary because misunderstandings are eliminated),

the tester has a job to do at the beginning of the sprint.

An undeniable advantage here is that BDD uses a DSL (Domain Specific Language) in test definition. This language is called Gherkin and is understood by all involved. Thanks to this, the product manager can be a full member of the team, participating in meetings and contributing to the discussion. This means the team as a whole is more involved in determining the quality of the delivered software and thus a better end product is created.

This was just a small insight into what we do at Applifting to deliver top quality software and keep up with the latest technology. If you are interested in any of the methods and procedures we have mentioned or you just want to have a chat about how to streamline your QA department, please don’t hesitate to contact me.