Category: QA


September 16, 2021

Quality,QA

Improving your root cause analysis

I’m often asked to help people improve the value of their root cause analysis (RCA). Here’s my most common advice. I include a RCA process to improve your software development and advice to make your analysis more effective. Summary When determining the problem, ask why until you hit a people issue. Ask what’s the earliest … Continued

Bill Hodghead

January 10, 2020

Quality,QA

In what order should functional test automation be implemented?

This post is part of a series on functional testing using the test pyramid. For new code New code has unit tests added as the code is created. If you are good, you write them before the code is created (TDD), but even if you don’t use TDD, get them done and merged into the … Continued

Bill Hodghead

December 16, 2019

Quality,QA

End-to-end testing

Also called “system” testing. This post is part of a series on functional testing using the test pyramid. Purposes Verifies the key customer experiences of the software. Who defines the test? Defined by product management (PM), often with contribution from quality engineers (QE). Who codes the test automation? System automation can be created by a … Continued

Bill Hodghead

December 12, 2019

Quality,QA

Integration testing

This post is part of a series on functional testing using the test pyramid. Purposes Verifies that components or microservices within a service or sub-system talk to each other correctly. This is different from component or API testing. API testing covers the external interface and functionality of the sub-system, while integration testing covers communication between … Continued

Bill Hodghead

November 11, 2019

Quality,Architecture,QA

Unit testing in the test pyramid

This post is part of a series on functional testing using the test pyramid. Purposes of unit testing Documentation: Defines the behavior of the code as a working specification that is kept up to date. Reduces the need for a development specification. Maintainability: By proving code is testable, it proves the code is maintainable forcing … Continued

Bill Hodghead