Skip to main content

Software testing guide - Testing tutorial

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 five "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 signoff 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 five 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

Comments

Popular posts from this blog

Manual testing - Brief Summary

Manual testing is a type of software testing in which testers execute test cases without the use of automation tools or scripts. Instead, testers follow a series of predefined steps to verify that a software application or system functions correctly and meets its requirements. Manual testing is an essential part of the software testing process and is typically performed alongside automated testing, where applicable. Here are some key aspects of manual testing: Test Case Design : Testers create test cases based on the software's requirements, specifications, and design documents. These test cases outline the steps to be followed, the expected results, and any necessary preconditions. Test Execution: Testers manually execute the test cases by interacting with the software just like a user would. They input data, navigate through the user interface, and observe the system's behavior. Exploratory Testing: In addition to predefined test cases, manual testers often perform ex

What is IEEE?

IEEE = 'Institute of Electrical and Electronics Engineers' - among other things, creates standards such as 'IEEE Standard for Software Test Documentation' (IEEE/ANSI Standard 829), 'IEEE Standard of Software Unit Testing (IEEE/ANSI Standard 1008), 'IEEE Standard for Software Quality Assurance Plans' (IEEE/ANSI Standard 730), and others.

What is Installation testing?

Installation testing is done to verify whether the hardware and software are installed and configured properly. This will ensure that all the system components were used during the testing process. This Installation testing will look out the testing for a high volume data, error messages as well as security testing