A Review of Scripting Techniques Used in Automated Software Testing <s> II. <s> The promise of successful software intensive system test automation has been advertised by test tool vendors for many years. However, those promises have yet to be fulfilled pervasively on government and industry software projects. There are several types of test automation technology available today but the biggest opportunity for a return on investment (ROI) for software maintenance programs is in the test execution (also called "Capture/Playback" category of test technology). Test Automation problems and the ROI opportunities will be identified and discussed. Further, we will describe the cadre of test automation types then focus on the application and results of keyword-based functional/system/regression test automation. <s> BIB001 </s> A Review of Scripting Techniques Used in Automated Software Testing <s> II. <s> This study explores the factors that affect the use of software testing automation in different types of organizations. A case study was conducted in five organizations that develop and test technical software for the automation or telecommunication domains. The data was collected from interviews with managers, testers, and developers in each organization. The grounded theory was used as the data analysis method. According to the results, the factors which emphasize the wide use of testing automation include that the tested products are generic and independent of third-party systems. Low human involvement in testing, steady underlying technology, and reusability support the use of testing automation. <s> BIB002
MANUAL TESTING VS. AUTOMATED TESTING Software testing can be divided into two main categories, manual testing, and automated software testing. Both categories have their individual strengths and weaknesses. With a manual testing, the more traditional approach, tester initiates each test, interacts with system, reports and evaluate the test results. To satisfy the test results manually, testers should prepare and execute test cases on SUT. These test cases will best test the system using defined processes trying to find bugs. So, they can be fixed before releasing the product to the public BIB002 . Automation is one of the more popular and available strategies to reduce testing effort. It develops test scripts that will be used later to execute test cases instead of human BIB001 . The idea behind automation is to let computer simulate what the tester is doing in reality when running test cases manually on SUT. AST is more suitable for repetitive tasks during different testing levels such as regression testing, where test cases are executed several times whenever the source code of SUT is modified or updated  . Katja Karhu BIB002 summarizes the difference between the two categories by suggesting that automated software testing should be used to prevent new errors in the already tested working modules, while manual testing is better used for finding new and unexpected errors. The two approaches are complementary to each other, automated testing can perform a large number of test cases in little time, whereas manual testing uses the knowledge of the tester to target testing to the parts of the system that are assumed to be more error-prone.