Test Automation Framework

Test Automation Framework

Author: Viswanath V

Extensive software testing before the actual release is essential for any company to maintain its position among clients and partners. The software has to perform equally well in every platform and scenario and has to be a strategic part of the entire SDLC. Frequent number of revisions makes testing more sophisticated over time, and becomes a larger and larger proposition as time goes by. The solution to this lies in adopting Test Automation, which can be defined as executing a sequence of actions without human intervention. The purpose of the process is to eliminate man-made errors and provide faster results. Companies that opt for Test Automation pass the break-even point for labor cost after just 2 to 3 runs of automated test. There are many factors responsible for the success of building a Test Automation Framework. The key elements are: Management Commitment: The management should be actively involved in the Test Automation framework development. Cost and Budget: Building a framework for Test Automation needs some budgeting. Actual Process: The actual process should be well-defined, with no ad-hoc testing and a defined guidance for test, test-coverage and criteria for test at every step. Related resource: To make sure that Test Automation framework development goes on smoothly, there should be a dedicated team. Realistic Expectation: The management should have realistic expectation as 100% automatic tests is not possible and that all test cannot be automated. Test Automation will bring in results only after several cycles has been executed and there is no immediate return for the investment made for building the Test Automation Framework. Framework defines the organization�s way of doing things � a Single Standard. Following this standard, the project team will achieve - A test library design that will help in effective team-communication, library-versioning and Artifacts creation. Standard scripting that will result in team consistency during test library design and prevent individuals from following their own coding standards, thus avoiding duplicate coding. Sparing the Test engineers from knowing the critical aspects of the code. Implemented libraries and codes can be executed by just invoking the needed libraries. Test Automation scripts are separated from input data store and only the input data gets manipulated whereas no modification is needed for the test scripts. By developing the libraries, they can be reused again and again, saving time for the entire organization/project team. Extensibility and maintenance becomes easy, as the re-usable library can be created as an enhanced feature. By giving right role-based access, the standard process of Test Automation scripting can be maintained. Test Automation Framework Development Challenges: Test Automation Framework development involves various challenges that include. Clear vision of what needs to be achieved out of this automation. It should address core questions like testing model, types of testing, which areas need to be automated etc. Tool identification and Recommendation process is a crucial process, as it means considering critical factors like creating a standard tool evaluation checklist, types of testing, and acquiring multiple tools to perform different types of testing. Framework design involves identifying requirements from multiple areas like identification of necessary utility/components, types of input data store to be communicated, communication between the systems and utility/component development, etc. A Sensible Approach to Automation: Pre-requisites and Assumptions It is assumed that the user knows what test automation is all about and he has a planned approach for it. He has investigated �Test Automation Tool - Build or Buy� and has taken a decision of buying a tool or getting an open-source tool. Step 1 - Identify Testing Scope Considering the organization�s requirements, test automation activities can be performed in three different scopes, which are Enterprise-oriented, Product-oriented, and Project-oriented. Step 2 - Identify Testing Types Based on the product/application/module requirement, type of testing that needs to be performed is identified. Priority must be assigned to each type of testing, based on the schedule for product release. Step 3 � Identify Requirements to be automated Each requirement has its own actions, validations for testing. All the identified requirements are assigned priority. This would help in identifying "Build-Verification Test (BVT)" requirements that should never fail. Step 4- Evaluate Test Automation Tool Identified testing types and requirements act as a base criterion for test automation tool evaluation. Checklist Identify Tools Sample Run Rate and Select Tools Implementation and Training Step 5- Identify Requirements that can be automated This study would result-up in coming with requirements that can be automated. Step 6 - Design Test Automation Framework For designing a framework, various elements need to be taken into consideration. Some of them are: Actions to be performed Database Communication Communication with additional automation tools Device Communication Log Error Handlers Custom Messages Based on these, Test automation framework would be designed using the following guidelines like. Application-independent. Encapsulate the testers from the complexities of the test framework. Identify and abstract common functions used across multiple test scripts. Decouple complex business function testing from navigation, limit-testing, and other simple verification and validation activities. Structure scripts with minimal dependencies - Ensuring scripts executing unattended even on failures. Step 7 � Design Data Input Store Types of input data files supported by the tools need to be identified. They can be objects identifier; scenarios/Workflows/Transactions based input, custom message, and Driver. For all the files types, file format needs to be identified and prototyped based on the input data storage. Step 8 - Develop framework Framework development is facilitated using the same set of identified tools. Scripting language supported by the test automation tools is used to create the components. Tool extensibility utility/component can be developed using a different language. In addition to the re-usable components, driver scripts and worker scripts need to be created. The approach for developing re-usable utilities/components should include: Record/Replay Screen/Window/Transaction Action/Keyword Data Driven Step 9 � Populate Input Data Store Data can be populated either manually or in an automated fashion from different data-sources. Step 10 - Configure Schedulers Schedulers can be configured to run a worker script (batch script) on a specific time-period. Key benefits of Test Automation Framework: Standard process in Production Free from dependencies Complete Coverage Future Enhancements Support Cost Estimation Conclusion: Automation is a great idea. To make it a good investment, the testing should adopt the automation in its framework very well. For the success of Test automation, a clear distinction between automation and the process of automation is necessary. The benefits of Test Automation Framework will fuel an interest across domains and find greater acceptance and importance in the industry.

26014 26015 26016 26017 26018 26019 26020 26021 26022 26023 26024 26025 26026 26027 26028 26029 26030 26031 26032 26033 26034 26035 26036 26037 26038 26039 26040 26041 26042 26043 26044 26045 26046 26047 26048 26049 26050 26051 26052 26053 26054 26055 26056 26057 26058 26059 26060 26061 26062 26063 26064 26065 26066 26067 26068 26069 26070 26071 26072 26073 26074 26075 26076 26077 26078 26079 26080 26081 26082 26083 26084 26085 26086 26087 26088 26089 26090 26091 26092 26093 26094 26095 26096 26097 26098 26099 26100 26101 26102 26103 26104 26105 26106 26107 26108 26109 26110 26111 26112 26113 26114 26115 26116 26117 26118 26119 26120 26121 26122 26123 26124 26125 26126 26127 26128 26129 26130 26131 26132 26133 26134 26135 26136 26137 26138 26139 26140 26141 26142 26143 26144 26145 26146 26147 26148 26149 26150 26151 26152 26153 26154 26155 26156 26157 26158 26159 26160 26161 26162 26163 26164 26165 26166 26167 26168 26169 26170 26171 26172 26173 26174 26175 26176 26177 26178 26179 26180 26181 26182 26183 26184 26185 26186 26187 26188 26189 26190 26191 26192 26193 26194 26195 26196 26197 26198 26199 26200 26201 26202 26203 26204 26205 26206 26207 26208 26209 26210 26211 26212 26213 26214 26215 26216 26217 26218 26219 26220 26221 26222 26223 26224 26225 26226 26227 26228 26229 26230 26231 26232 26233 26234 26235 26236 26237 26238 26239 26240 26241 26242 26243 26244 26245 26246 26247 26248 26249 26250 26251 26252 26253 26254 26255 26256 26257 26258 26259 26260 26261 26262 26263 26264 26265 26266 26267 26268 26269 26270 26271 26272 26273 26274 26275 26276 26277 26278 26279 26280 26281 26282 26283 26284 26285 26286 26287 26288 26289 26290 26291 26292 26293 26294 26295 26296 26297 26298 26299 26300 26301 26302 26303 26304 26305 26306 26307 26308 26309 26310 26311 26312 26313 26314 26315 26316 26317 26318 26319 26320 26321 26322 26323 26324 26325 26326 26327 26328 26329 26330 26331 26332 26333 26334 26335 26336 26337 26338 26339 26340 26341 26342 26343 26344 26345 26346 26347 26348 26349 26350 26351 26352 26353 26354 26355 26356 26357 26358 26359 26360 26361 26362 26363 26364 26365 26366 26367 26368 26369 26370 26371 26372 26373 26374 26375 26376 26377 26378 26379 26380 26381 26382 26383 26384 26385 26386 26387 26388 26389 26390 26391 26392 26393 26394 26395 26396 26397 26398 26399 26400 26401 26402 26403 26404 26405 26406 26407 26408 26409 26410 26411 26412 26413 26414 26415 26416 26417 26418 26419 26420 26421 26422 26423 26424 26425 26426 26427 26428 26429 26430 26431 26432 26433 26434 26435 26436 26437 26438 26439 26440 26441 26442 26443 26444 26445 26446 26447 26448 26449 26450 26451 26452 26453 26454 26455 26456 26457 26458 26459 26460 26461 26462 26463 26464 26465 26466 26467 26468 26469 26470 26471 26472 26473 26474 26475 26476 26477 26478 26479 26480 26481 26482 26483 26484 26485 26486 26487 26488 26489 26490 26491 26492 26493 26494 26495 26496 26497 26498 26499 26500 26501 26502 26503 26504 26505 26506 26507 26508 26509 26510 26511 26512 26513 26514 26515 26516 26517 26518 26519 26520 26521 26522 26523 26524 26525 26526 26527 26528 26529 26530 26531 26532 26533 26534 26535 26536 26537 26538 26539 26540 26541 26542 26543 26544 26545 26546 26547 26548 26549 26550 26551 26552 26553 26554 26555 26556 26557 26558 26559 26560 26561 26562 26563 26564 26565 26566 26567 26568 26569 26570 26571 26572 26573 26574 26575 26576 26577 26578 26579 26580 26581 26582 26583 26584 26585 26586 26587 26588 26589 26590 26591 26592 26593 26594 26595 26596 26597 26598 26599 26600 26601 26602 26603 26604 26605 26606 26607 26608 26609 26610 26611 26612 26613 26614 26615 26616 26617 26618 26619 26620 26621 26622 26623 26624 26625 26626 26627 26628 26629 26630 26631 26632 26633 26634 26635 26636 26637 26638 26639 26640 26641 26642 26643 26644 26645 26646 26647 26648 26649 26650 26651 26652 26653 26654 26655 26656 26657 26658 26659 26660 26661 26662 26663 26664 26665 26666 26667 26668 26669 26670 26671 26672 26673 26674 26675 26676 26677 26678 26679 26680 26681 26682 26683 26684 26685 26686 26687 26688 26689 26690 26691 26692 26693 26694 26695 26696 26697 26698 26699 26700 26701 26702 26703 26704 26705 26706 26707 26708 26709 26710 26711 26712 26713 26714 26715 26716 26717 26718 26719 26720 26721 26722 26723 26724 26725 26726 26727 26728 26729 26730 26731 26732 26733 26734 26735 26736 26737 26738 26739 26740 26741 26742 26743 26744 26745 26746 26747 26748 26749 26750 26751 26752 26753 26754 26755 26756 26757 26758 26759 26760 26761 26762 26763 26764 26765 26766 26767 26768 26769 26770 26771 26772 26773 26774 26775 26776 26777 26778 26779 26780 26781 26782 26783 26784 26785 26786 26787 26788 26789 26790 26791 26792 26793 26794 26795 26796 26797 26798 26799 26800 26801 26802 26803 26804 26805 26806 26807 26808 26809 26810 26811 26812 26813 26814 26815 26816 26817 26818 26819 26820 26821 26822 26823 26824 26825 26826 26827 26828 26829 26830 26831 26832 26833 26834 26835 26836 26837 26838 26839 26840 26841 26842 26843 26844 26845 26846 26847 26848 26849 26850 26851 26852 26853 26854 26855 26856 26857 26858 26859 26860 26861 26862 26863 26864 26865 26866 26867 26868 26869 26870 26871 26872 26873 26874 26875 26876 26877 26878 26879