Manual Software Testing: Suggested Best Practices

This article was developed from concepts in the book Global Software Test Automation: Discussion of Software Testing for Executives.

Introduction

There are many potential pitfalls to Manual Software Testing, including:

  1. Manual Testing is slow and costly.
  2. Manual tests do not scale well.
  3. Manual Testing is not consistent or repeatable.
  4. Lack of training.
  5. Testing is difficult to manage.

This article will cover 5 “best practices” recommendations to help avoid the pitfalls associated with Manual Software Testing.

Be Thorough in Test Design and Documentation

In designing the tests, there should be agreement among the business staff, product and project managers, developers, and testers on test coverage. This can be documented as test requirements in a test plan. With this documentation, management can have visibility of the test coverage and know that the right areas are being tested. This then becomes an important management tool in managing testing.


The goal is to find the easiest way to document as many test cases as possible without having the test effort turn into a documentation effort.


Have the test requirements and test cases peer-reviewed, just as you would have software design reviews. The software development staff and the test staff should jointly develop the test designs, as they have complementary skill sets and knowledge bases.

In Manual Testing, like in other processes, several factors influence the effectiveness of the tests, including the completeness of the test cases and the thoroughness of the documentation. The goal should be to maximize management’s understanding of the testing by spending the appropriate resources in each area, within the overall resource constraints. If you do not document your tests, you will not understand the coverage or software quality as revealed by the tests, and you also will not be able to determine that the test team is testing features that are the most important to your development team and customers. However, if you document everything related to each test case, you will not have time to do as many tests as you should. Documenting test cases can get expensive.

Automate Turnkey Tests as Much as Possible

There are various tools available that support Test Automation. When it is cost-effective and time-efficient to do so, there is no excuse for not automating software tests.


Automation 5% Rule: No more than 5% of the tests should be executed manually.


The benefit of Automation is that the testing becomes less burdensome, and less likely to be scrimped on when under pressure. This also makes the testing easier to manage.

Manage the Test Activities Well

Do this as closely, and by establishing as full a procedure, as the software development activities. Be sure that the project plan has sufficient resources and time allocated to testing so that it does not get short shrift.

Rank Test Cases in Order of Importance, by Impact on Quality, by Risk, by How Often the Feature Tested is Used, or Some Other Related Metric

A goal should be to run all important test cases, but if there are resource constraints that prevent all test cases from being run, then the ranking will enable the important test cases to be run. This provides the maximum impact of the testing with the available resources. In Manual Software Testing, you are always short on time. There should be an agreement or sign-off procedure on the ranking and the coverage of the tests.

Have a Separate Budget with Proper Funding Allocated for Testing

Just as there is a budget allocated for the software code development, there should be a budget allocated for testing. Be sure that this budget is well-funded. Watch how much is spent on testing, and what the return on investment is.

Even when you have a good Test Automation program in place, you will still need to do some Manual Testing. The usability testing, for example, requires human involvement. However, Manual Testing is not the solution for short-cycle, high-volume test challenges. For example, if you have a daily build process where you need to run smoke-tests to assess the changes and stability of the software from build to build, these tests can be high-volume and short-cycle. Manual Testing cannot solve your testing problem in this case.

Conclusion

To summarize the preceding in a simple list, the 5 best practice suggestions for Manual Software Testing success are:

  1. Be thorough in test design and documentation
  2. Automate turnkey tests as much as possible
  3. Manage the test activities well
  4. Rank test cases in order of importance, by impact on quality, by risk, by how often the feature tested is used, or some other related metric
  5. Have a separate budget with proper funding allocated for testing
Hung Nguyen

Hung Nguyen co-founded LogiGear in 1994, and is responsible for the company’s strategic direction and executive business management. His passion and relentless focus on execution and results has been the driver for the company’s innovative approach to software testing, test automation, testing tool solutions and testing education programs.

Hung is co-author of the top-selling book in the software testing field, “Testing Computer Software,” (Wiley, 2nd ed. 1993) and other publications including, “Testing Applications on the Web,” (Wiley, 1st ed. 2001, 2nd ed. 2003), and “Global Software Test Automation,” (HappyAbout Publishing, 2006). His experience prior to LogiGear includes leadership roles in software development, quality, product and business management at Spinnaker, PowerUp, Electronic Arts and Palm Computing.

Hung holds a Bachelor of Science in Quality Assurance from Cogswell Polytechnical College, and completed a Stanford Graduate School of Business Executive Program.

Rob Pirozzi

Over 20 years of sales, marketing, management, and technology experience in high technology with exposure to industries including financial services, healthcare, higher education, government, and manufacturing; demonstrating a strong track record of success. Proven ability to build and maintain strong relationships, contribute to target organization success, and deliver results. Website: http://www.robpirozzi.com/

Hung Q. Nguyen
Hung Nguyen co-founded LogiGear in 1994, and is responsible for the company’s strategic direction and executive business management. His passion and relentless focus on execution and results has been the driver for the company’s innovative approach to software testing, test automation, testing tool solutions and testing education programs. Hung is co-author of the top-selling book in the software testing field, “Testing Computer Software,” (Wiley, 2nd ed. 1993) and other publications including, “Testing Applications on the Web,” (Wiley, 1st ed. 2001, 2nd ed. 2003), and “Global Software Test Automation,” (HappyAbout Publishing, 2006). His experience prior to LogiGear includes leadership roles in software development, quality, product and business management at Spinnaker, PowerUp, Electronic Arts and Palm Computing. Hung holds a Bachelor of Science in Quality Assurance from Cogswell Polytechnical College, and completed a Stanford Graduate School of Business Executive Program.
Hung Q. Nguyen on Linkedin
Rob Pirozzi
Over 20 years of sales, marketing, management, and technology experience in high technology with exposure to industries including financial services, healthcare, higher education, government, and manufacturing; demonstrating a strong track record of success.

The Related Post

The growing complexity of the Human-Machine Interface (HMI) in cars offers traditional testers an opportunity to capitalize on their strengths. The human-machine interface (HMI) is nothing new. Any user interface including a graphical user interface (GUI) falls under the category of human-machine interface. HMI is more commonly being used to mean a view into the ...
Learn how to leverage TestArchitect and Selenium for turnkey, Automated Web testing. TestArchitect lets you create, manage, and run web-based automated tests on different types of browsers—using either a WebDriver or non-WebDriver technique. In this article, we will explore employing WebDriver for testing a web-based application with TestArchitect. TestArchitect with WebDriver is a tool for automating ...
This is part 2 of a 2-part article series; part 1 was featured in the September 2020 issue of the LogiGear Magazine, and you can check it out here. Part 1 discussed the mindset required for Agile, as well as explored the various quadrants of the Agile Testing Quadrants model. Part 2 will delve into ...
Every once in a while a book is put together that should be read by every person with a relationship to software development. This book is one of them. Everyone dreams of automating their software testing, but few make it a reality. This down-to-earth book contains stories of 28 teams that went for it, including ...
Introduction As a consultant and trainer, I am often asked by my clients and students how to deal with automated acceptance tests. One common question is whether automated acceptance tests should use the graphical user interface (GUI) provided by the application.
In order to make the right choices among tools, you must be able to classify them. Otherwise, any choice would be at best haphazard. Without functioning classification, you would not be able to understand new tools fast, nor come up with ideas of using, or creating new tools.
For those that are new to test automation, it can look like a daunting task to undertake For those who are new to Automation, it can look like a daunting task to undertake, but it only seems that way. If we unpack it and pinpoint the fundamentals, we can have the formula for the desired ...
Divide and conquer was a strategy successfully employed by ancient Persian kings against their Greek enemies. It is a strategy that can still be used successfully today. Fundamentally, by dividing something into smaller more manageable pieces (in the case of the ancient Persians, they divided the Greek city states), it becomes much more manageable.
What is Ethereum Smart Contract Testing? What are its challenges? If you’re new to Smart Contract Testing, this in-depth guide will prepare you on how to test smart contracts successfully. Blockchain stands out due to its enormous implications. Everyone has heard of it, but few people know what the ramifications are for testers or how ...
Introduction In many of the Test Automation projects that we are involved with using our Action-Based Testing methodology, management has expressed a need to relate tests and test results to system requirements. The underlying thought is that automation will create extra possibilities to control the level of compliance to requirements of the system under test. ...
Utility: A program that performs a specific task related to the management of computer functions, resources, or files, as password protection, memory management, virus protection, and file compression. Tool: A program or application that software development teams use to create, debug, maintain, or otherwise support other programs and applications. The term usually refers to programs that can be combined together ...

Leave a Reply

Your email address will not be published.

Stay in the loop with the lastest
software testing news

Subscribe