Quality Assurance Companies: Manual or Automated Testing?
Software testing can be classified by degree of automation:
Manual testing is a process during which test cases are written by hand, without using any automated tools, only by a person. You might think that it is a simple work that does not require any knowledge or experience but a software tester often needs to be a loyal, patient, detail-oriented, inspective and creative person. He should be able to conduct atypical experiments as well as understand how the system works, namely how environmental factors impact the application’s internal workings.
Automated testing or test automation means using a set of techniques, approaches or tools to manage execution of tests without involvement of a man in the process.
Quality assurance companies use these both types of testing; all depends on a complexity and goals of a particular project or product. They do their best to meet all qa needs of their customers.
Tests cases are partially or completely written by a specialized tool, however, development of test cases, preparation of test data, assessment of test results, creation of quality bug reports – all this work is traditionally done by a man.
Some authors of books on software testing make a difference between semiautomatic testing as a manual testing done with partial usage of automation tools and automated testing itself (in general, many testing-related tasks are still done by computer not by a person). But, a testing process cannot be carried out only by machines since they are not sapient, that is why it is reasonable to combine a power of a machine and a man.
Performance testing companies run non-functional tests to check the system parameters in terms of stability and responsiveness under different workloads.
Pros and cons of test automation:
|• Automated testing saves a great deal of time and is able to exceed human intelligence.
• Human factor (fatigue, carelessness, etc.) is not involved in test case development.
• Minimum effort is required for repeated execution of test cases (human resources are only sometimes necessary).
• Automated tools are capable of executing test cases that cannot be performed by a man due to lack of certain skills and qualities.
• Ability to handle huge amounts of data.
• Ability to determine the functionality of an app, operating system in a deep way.
|• Only highly qualified personnel can run automated tests since test automation is “project within a project” (including project requirements, plans, the code, etc.)
• High costs of automation tools, development and execution of tests cases.
• Automation requires more time to test planning & execution and must meet risk management needs otherwise the project is doomed to failure.
• Choosing from a great variety of test automation tools becomes problematic and may involve financial expenses (risks),
• The necessity to train personnel, (or look for qualified testers).
More and more organizations tend to outsource qa since they usually do not have enough time and money for running various tests on their own. When hiring offshore testing providers many firms at last manage to focus on their core activities.