How to increase test coverage? (2024)

A large number of organizations that I talk to are giving this as THE goal when hiring Quality Assurance engineers.

This is a fantastic advance in the recognition and value of automated testing in comparison to just a few years ago.

My experience from working in several organizations is that this is typically interpreted, not surprisingly, as simply "write more tests".

The situation I have observed over and over again is that just 'write more tests" does not address the underlying issues. Looking at large and successful organization that release features and changes on a daily basis we can see that massive and slow test suites are not the way of success.

Using root cause analysis we can see that "more tests" is an approach to try and help with issues but it does not not tell us anything about the root issues we are trying to fix - which are always about bugs and the speed of making feature changes. Every organization I talk to at the moment says "we want to release software faster and with less issues than we are currently experiencing". In other words "more speed, less bugs".

It is important to look at the root cause of software with these problems that is being created without adequate test coverage. Without this, adding "the missing tests" without changing the development approach that created them, will lead to the automation falling further and further behind future development features being created without adequate test coverage and test coverage levels never rise. It will not fix the bugs being made or the speed to make feature changes.

It is also important to recognize that a mandate for "100% test coverage" does not resolve the problem because this will lead to test run times increasing over time and their usefulness as feedback to the developer writing the feature diminishes. This is addressed by having the right tests at the right level and curating them constantly. This requires a QA architect who is fully empowered in the organization as well as strong development leaders to guide junior engineers.

Finally tests themselves should be carefully crafted so that they themselves have high quality code (modular, English readable, DRY as needed, etc). Poorly written tests with high dependencies can themselves become "the problem" if they are not written and maintained with care by a person that cares.

THIS CAN BE FIXED!

In order to address the above issues the approach needed is to change how software is written. Instead of treating "QA" as "testing at the end", a new mindset is needed that focuses on "automated testing at all levels as the application code is written".

Under this model, when a feature is imagined, specified, designed and coded, testing is considered at all these stages, by all participants, and the phase where it is "coded" includes writing unit tests, integration tests and end-to-end tests. The very use of the word "testing" changes dramatically. Instead of "the thing that the QA group does that catches bugs" testing now becomes "the thing that developers create to make sure the software works today, tomorrow and in the future.". This is very hard. It can be helpful to use software techniques such as TDD and BDD but without the context that the role of testing is changing from a gating model to a dynamic feedback model, the organization will likely not make changes to how development operates within the organization. This will lead to a cycle of adding tests but then discovering different issues not tested for as the future cannot be predicted.

HERE ARE THE PLAN SPECIFICS TO INCREASE TEST COVERAGE!

1. Start measuring test coverage at the unit level.

Recommended by LinkedIn

Becoming an Excellent QA/Testing Professional: A… Amitav Bhattacharjee 6 months ago
“Software Tester” is a Derogatory Term LambdaTest 5 months ago
Achieving Quality And Speed: Tips For QA Leaders In… QAP Software Solutions 1 year ago

Unit tests must be at the unit level itself. They must mock and stub ALL external resources including file, screen and database. Add test coverage minimum limits and raise them over time

2. Fast unit tests for application developers.

Unit tests for a piece of code being worked on should run in 1-3 seconds. Screen, file and database MUST be mocked and stubbed.

3. Extensive use of CI to run test suites.

Tests that are limited to run on one developers machine cannot scale and remain as fast feedback.

4. Address the current test debt.

There will be a backlog. A separate effort should address this. Write and fix the unit tests. Write e2e tests and make them reliable and fast. This requires Quality Automation Engineers with considerable experience such as myself

5. Pay Equity.

Organizations typically pay 'QA' folks at a lower rate. This is true across the industry. It leads to a lot of low quality code that quickly becomes a blocker and not a help. If you want the quality you seek, pay the people who do the quality work well.

6. Testing Resource Equity.

Many organization have development groups that consist of a Project Manager, several developers and one QA person. Given that QA automation frequently takes longer to write (especially initially) this sets up a 'guaranteed to fail' situation where the QA person remains a manual tester at the end of the process. The main fix to this is not to hire more QA folks but instead to retrain application engineers on new roles which place testing at the heart of application development.

How to increase test coverage? (2024)
Top Articles
Unclean Hands Doctrine | Practical Law
Best ways to take money to Europe [2024 Guide] - Exiap
Ron Martin Realty Cam
Riverrun Rv Park Middletown Photos
Davita Internet
Methstreams Boxing Stream
Restaurer Triple Vitrage
Aadya Bazaar
Usborne Links
How Much Is 10000 Nickels
5 Bijwerkingen van zwemmen in een zwembad met te veel chloor - Bereik uw gezondheidsdoelen met praktische hulpmiddelen voor eten en fitness, deskundige bronnen en een betrokken gemeenschap.
The Haunted Drury Hotels of San Antonio’s Riverwalk
Tamilblasters 2023
Azeroth Pilot Reloaded - Addons - World of Warcraft
Best Restaurants Ventnor
Ssefth1203
Flower Mound Clavicle Trauma
Darksteel Plate Deepwoken
2024 U-Haul ® Truck Rental Review
Midlife Crisis F95Zone
Munich residents spend the most online for food
Sonic Fan Games Hq
ARK: Survival Evolved Valguero Map Guide: Resource Locations, Bosses, & Dinos
E22 Ultipro Desktop Version
Kamzz Llc
Geometry Review Quiz 5 Answer Key
Lola Bunny R34 Gif
Sussyclassroom
Hdmovie2 Sbs
Blackboard Login Pjc
Firefly Festival Logan Iowa
What we lost when Craigslist shut down its personals section
Tas Restaurant Fall River Ma
No Hard Feelings Showtimes Near Tilton Square Theatre
Devotion Showtimes Near Mjr Universal Grand Cinema 16
Duff Tuff
Los Garroberros Menu
10 games with New Game Plus modes so good you simply have to play them twice
How are you feeling? Vocabulary & expressions to answer this common question!
ENDOCRINOLOGY-PSR in Lewes, DE for Beebe Healthcare
Babbychula
2700 Yen To Usd
Aita For Announcing My Pregnancy At My Sil Wedding
Free Crossword Puzzles | BestCrosswords.com
Actress Zazie Crossword Clue
The Largest Banks - ​​How to Transfer Money With Only Card Number and CVV (2024)
Windy Bee Favor
Underground Weather Tropical
Tanger Outlets Sevierville Directory Map
Suzanne Olsen Swift River
Latest Posts
Article information

Author: Msgr. Refugio Daniel

Last Updated:

Views: 6099

Rating: 4.3 / 5 (54 voted)

Reviews: 93% of readers found this page helpful

Author information

Name: Msgr. Refugio Daniel

Birthday: 1999-09-15

Address: 8416 Beatty Center, Derekfort, VA 72092-0500

Phone: +6838967160603

Job: Mining Executive

Hobby: Woodworking, Knitting, Fishing, Coffee roasting, Kayaking, Horseback riding, Kite flying

Introduction: My name is Msgr. Refugio Daniel, I am a fine, precious, encouraging, calm, glamorous, vivacious, friendly person who loves writing and wants to share my knowledge and understanding with you.