Author: Paul Herzog

Software Testing: Start Test Design with the Data

The term “software testing”, especially outside the profession, often relates to the user interface. What buttons does someone push to make sure it “works right”? What will“make it break”? This is true not only when it comes to test execution, but test case design as well.

In modern software projects, this approach won’t be enough. Today’s tester can’t wait until the user interface is fully designed, implemented, and available before writing and executing tests. When complex software systems require multiple testing methodologies to verify and validate, the effect of this waiting period is magnified. A tester must start from another perspective – the data – and carry that perspective throughout every aspect of testing.

blurred motion image of a formula 1 race car

Defining Performance Test Plans

Performance testing is an important, and overlooked, aspect of most software projects.  Learn about the key planning factors to consider to make your performance test cycle a productive success.

blog testing

The Agile Tester, Converting to Automation

In an Agile process, the velocity of development and churning out releases at the end of every sprint will overwhelm a manual tester without some sort of automation.  If a tester has to manually execute tests for new functions, verify bugs, and run the system through regression every two weeks…the pace will eventually wear the test team members out and cause defects to slip through.  In Agile, poor quality is a small snowball at the top of a powder-covered peak; once the ball starts to roll downhill, gaining size and speed, the odds of bringing it back to the top of the mountain quickly drop to zero.  The only way to stay on track is to take manual tests and automate as much as possible.

Vlog Testing

Writing Manual Tests for Automation

A software analyst in an Agile environment has to think not only about the current set of manual tests, but the path to automation. This video blog summarizes key aspects of test correctness, data validation and ordering of steps to make the transition from manual to automated testing as smooth as possible.

blog banner agile

The Agile Tester on a Distributed Team

The Agile Manifesto is a set of 12 principles designed to allow teams to be self-organized, self-sustaining, and focused on the most important thing: the work to be done.  It is viewed by many as a revolutionary change in how software projects are executed within the computer industry.  Implementing these principles, however, may be hindered by how businesses are organized. Decisions made in boardrooms make the work in the Scrum room far more complicated.

Group of People Working Together

The Agile Tester: Filling the Gaps

In a “textbook” Agile development process, there are defined roles for a Product Owner (responsible for system direction), a Scrum Master (leads and guides the team through the process), and a Team Member (creates and delivers the system).  There is no role specifically defined for a “Tester.”  For better or worse, it is thought that when the time comes in each sprint, everyone will take responsibility for handling all of the software verification and validation necessary to put out the highest-quality product possible.

The rest of this article talks about why this isn’t the case for real-world projects….