Automated Software Testing Life Cycle: Part I
There are many cycles in Software Development, where should the automated life cycle begin? The first step is to scope the project. There are many questions to consider before choosing to automate, for example:
- What is the current communication process between testers/test advocate (lead) /developers/project managers?
- Is the environment web-based, mainframe, or client-server?
- How does your testing currently take place? (For example, does the lead/advocate give test assignments based daily, weekly, etc?)
- How often during active testing, do you have defect meetings?
- What is the average amount of test cases currently being completed by a tester on a daily basis?
- What 3rd party licenses of automated testing software do you currently have available?
- Is the licensed testing software currently being utilized?
- What is the ratio of your on-site testing between manual and automated? (Ex. Manual 60% and Automated 40%)
The next step is to perform a Proof of Concept. It is a good idea to utilize a POC before purchasing an automated software tool, during the POC phase, you have the opportunity to look at the software and determine which automated tool is best for your project. This time also gives the automation tester an opportunity to get to know the software, review the application’s functionality and the environment under test, to learn the business functions, user interfaces, and navigations [Sources: manual Test Cases, User manuals, Business Functional Requirements]. After determining an automated tool to use, you are ready to plan the project.
Next step: Gather all Supporting Documents such as Business Requirements(BRS), System Requirements(SRS), Component Requirements(CRS), and any others associated with the project (Manual test cases in cases of script conversion) [Sources: Business Functional Specifications and design documentation].
The next step is to consider the test to be automated. How many test cases are currently being used? Are the test cases ready to automate? Do the test cases need to be refactored into an automated format? Which test will be automated and which test will be designated as manual test? After determining which test are suitable for automation the next step is set up a test suite that will reflect the order in which the test will need to be performed. Set up a Test Data File for input and expected results. [Sources: Subset Production data, existing test data, or create relevant data for test].
The next step is to determine the features not to be tested. Determine any features that are not going to be included in the project. The features that can be excluded from the testing phase should be listed in the project failures section of your analysis report with a detailed reason why you are not able to include these functions in the automation or with a solution, if the test can be included with some adjustments to the test or the test environment. Features that are out of scope of testing, like incomplete modules or those on low severity should be listed here.
The beginning of the automated software testing cycle is a test within a test. The conclusion of the Proof o f Concept (POC) concludes the first step in the automated software testing cycle. The POC implements Test Planning, Test Analysis, and Test Design. The remaining steps in the automated software testing cycle are Construction and Verification, Testing Cycles, Final Testing and Post Implementation.
Lisa Corkren is a certified technical lead for DeRisk IT, Inc. She specializes in automated testing and project management. She has worked on numerous platforms of both Manual and Automated Testing. Her specialties include automated testing strategies and SmartBear’s TestComplete.
DeRisk IT Inc. specializes exclusively in all remote, onshore, offsite services related to Application Software and System Infrastructure Testing. The main focus areas are Functional, Performance and System Integration testing using both manual and appropriate automation techniques. Since its founding in 1998, the primary role of DeRisk IT Inc. has been to help corporate organizations forecast and plan for the most efficient IT projects with respect to risk avoidance and to implement appropriate testing solutions to achieve this. DeRisk IT Inc. specializes in risk analysis at the corporate level; and at a project level results in the proactive use of testing tools and methodologies to ensure on-time completion and to the right specification. DeRisk IT Inc. has established a position at the forefront of application testing, providing unique testing solutions such as performance, compatibility, security, usability and monitoring. DeRisk IT Inc. provides a full portfolio of services for all testing needs.