Technical Note/TEST AUTOMATION

최근 여기저기 전 세계의 뉴스그룹들을 자주 뒤져보며 즐거워하고 있습니다. 




업무 시간 중 쉬는 시간 20분 정도를 쪼개어, 외국에서 같은 업무에 종사하는 분들이 나누는 이야기들을 훔쳐보며 많이 배우고, 한국에서 그리고 세계에서 제가 어느 정도까지 와 있는지 생각해 봅니다. 뉴스 그룹은 최근의 화두로 여기저기서 급부상중인 Agile에 관련된 뉴스와 제 업무인 Quality Engineering 분야의 뉴스들의 정보들을 즐겨보고 있습니다.




뉴스 그룹에서 아래의 URL이 와서 읽어 보니 상당히 재미있는 글이 포스팅되어 있습니다.


http://www.forum.onestoptesting.com/forum_posts.asp?TID=1612


나름대로 외국 족보.. 랄까요?




아래의 내용은 Automation Testing에 대한 질문과 그에 대한 모범 답안 정도인 듯 합니다. 제가 보기에도 딱히 짚고 넘어가야 할게 없을 정도로 무난~~~하니 좋은 것 같습니다. 이것으로 Automation에 대한 전부를 알 수는 없겠습니다만, 적어도 인터뷰라는 것을 감안하면 무난한 답들이라 생각합니다.




굳이 Automation이 아니라도 다른 내용들도 담겨 있으니, 공부가 필요하신 분들에겐 좋은 자료가 될 것 같습니다.




어차피 Test Automation에 관심을 가지는 사람들은 영어 독해가 가능할 것 같아서 번역은 하지 않습니다.




----------------------------------------------------------------------------------------------------




1. What automating testing tools are you familiar with? 


Win Runner , Load runner, QTP , Silk Performer, Test director, Rational robot, QA run. 




2. How did you use automating testing tools in your job? 


1) For regression testing 


2) Criteria to decide the condition of a particular build 




3. Describe some problem that you had with automating testing tool. 


The problem of winrunner identifying the third party controls like infragistics control. 




4. How do you plan test automation? 


1) Prepare the automation Test plan 


2) Identify the scenario 


3) Record the scenario 


4) Enhance the scripts by inserting check points and Conditional Loops 


5) Incorporated Error Hnadler 


6) Debug the script 


7) Fix the issue 


8) Rerun the script and report the result. 




5. Can test automation improve test effectiveness? 


Yes, Automating a test makes the test process: 


1) Fast 


2) Reliable 


3) Repeatable 


4) Programmable 


5) Reusable 


6) Comprehensive 




6. What is data - driven automation? 


Testing the functionality with more test cases becomes laborious as the functionality grows. For multiple sets of data (test cases), you can execute the test once in which you can figure out for which data it has failed and for which data, the test has passed. This feature is available in the WinRunner with the data driven test where the data can be taken from an excel sheet or notepad. 




7. What are the main attributes of test automation? 


software test automation attributes : 


Maintainability - the effort needed to update the test automation suites for each new release 


Reliability - the accuracy and repeatability of the test automation 


Flexibility - the ease of working with all the different kinds of automation test ware 


Efficiency - the total cost related to the effort needed for the automation 


Portability - the ability of the automated test to run on different environments 


Robustness - the effectiveness of automation on an unstable or rapidly changing system 


Usability - the extent to which automation can be used by different types of users 




8. Does automation replace manual testing? 


There can be some functionality which cannot be tested in an automated tool so we may have to do it manually. therefore manual testing can never be repleaced. (We can write the scripts for negative testing also but it is hectic task).When we talk about real environment we do negative testing manually. 




9. How will you choose a tool for test automation? 


choosing of a tool deends on many things ... 


1) Application to be tested 


2) Test environment 


3) Scope and limitation of the tool. 


4) Feature of the tool. 


5) Cost of the tool. 


6) Whether the tool is compatible with your application which means tool should be able to interact with your appliaction 


7) Ease of use 




10. How you will evaluate the tool for test automation? 


We need to concentrate on the features of the tools and how this could be benficial for our project. The additional new features and the enhancements of the features will also help. 




11. What are main benefits of test automation? 


FAST ,RELIABLE,COMPREHENSIVE,REUSABLE 




12. What could go wrong with test automation? 


1) The choice of automation tool for certain technologies 


2) Wrong set of test automated 




13. How you will describe testing activities? 


Testing activities start from the elaboration phase. The various testing activities are preparing the test plan, Preparing test cases, Execute the test case, Log teh bug, validate the bug & take appropriate action for the bug, Automate the test cases. 




14. What testing activities you may want to automate? 


1) Automate all the high priority test cases which needs to be exceuted as a part of regression testing for each build cycle. 




15. Describe common problems of test automation. 


The commom problems are: 


1) Maintenance of the old script when there is a feature change or enhancement 


2) The change in technology of the application will affect the old scripts 




16. What types of scripting techniques for test automation do you know? 


5 types of scripting techniques: 


Linear 


Structured 


Shared 


Data Driven 


Key Driven 




17. What are principles of good testing scripts for automation? 


1) Proper code guiding standards 


2) Standard format for defining functions, exception handler etc 


3) Comments for functions 


4) Proper errorhandling mechanisms 


5) The apprpriate synchronisation techniques 




18. What tools are available for support of testing during software development life cycle? 


Testing tools for regressiona and load/stress testing for regression testing like, QTP, load runner, rational robot, winrunner, silk, testcomplete, Astra are availalbe in the market. -For defect tracking BugZilla, Test Runner are availalbe. 




19. Can the activities of test case design be automated? 


As I know it, test case design is about formulating the steps to be carried out to verify something about the application under test. And this cannot be automated. IHowever, I agree that the process of putting the test results into the excel sheet. 




20. What are the limitations of automating software testing? 


Hard-to-create environments like “out of memory”, “invalid input/reply”, and “corrupt registry entries” make applications behave poorly and existing automated tools can’t force these condition - they simply test your application in “normal” environment. 




21. What skills needed to be a good test automator? 


1) Good Logic for programming. 


2) Analatical sklls. 


3) Pessimestic in Nature. 




22. How to find that tools work well with your existing system? 


1) Discuss with the support officials 


2) Download the trial version of the tool and evaluate 


3) Get suggestions from peopel who are working on the tool 




23. Describe some problem that you had with automating testing tool. 


1) The inabality of winrunner to identify the third party control like infragistics controls 


2) The change of the location of the table object will cause object not found error. 


3) The inability of the winrunner to execute the script against multiple langauges 




24. What are the main attributes of test automation? 


Maintainability, Reliability, Flexibility, Efficiency, Portability, Robustness, and Usability - these are the main attributes in test automation. 




25. What testing activities you may want to automate in a project? 


Testing tools can be used for : 


* Sanity tests(which is repeated on every build), 


* stress/Load tests(U simulate a large no of users,which is manually impossibele) & 


* Regression tests(which are done after every code change) 




26. How to find that tools work well with your existing system? 


To find this, select the suite of tests which are most important for your application. First run them with automated tool. Next subject the same tests to careful manual testing. If the results are coinciding you can say your testing tool has been performing. 




27. How will you test the field that generates auto numbers of AUT when we click the button 'NEW" in the application? 


We can create a textfile in a certain location, and update the auto generated value each time we run the test and compare the currently generated value with the previous one will be one solution. 




28. How will you evaluate the fields in the application under test using automation tool? 


We can use Verification points(rational Robot) to validate the fields .Ex.Using objectdata,objectdata properties VP we can validate fields. 




29. Can we perform the test of single application at the same time using different tools on the same machine? 


No. The Testing Tools will be in the ambiguity to determine which browser is opened by which tool. 




30. Diffenece between Web aplication Testing and Client Server Testing. State the different types for Web apllication Testing and Client Server Testing types? 


which winrunner 7.2 versioncompatiable with internet explorer, firefox,n.n 




31. What is 'configuration management'? 


Configuration management is a process to control and document any changes made during the life of a project. Revision control, Change Control, and Release Control are important aspects of Configuration Management. 




32. How to test the Web applications? 


The basic differnce in webtesting is here we have to test for URL's coverage and links coverage. Using WinRunner we can conduct webtesting. But we have to make sure that Webtest option is selected in "Add in Manager". Using WR we cannot test XML objects. 




33. what are the problems encountered during the testing the application compatibility on different browsers and on different operating systems 


Font issues,alignment issues 




34. how exactly the testing the application compatibility on different browsers and on different operating systems is done 


Please Send Your Suggetion 




35. How testing is proceeded when SRS or any other docccument is not given? 


If SRS is not there we can perfom Exploratory testing. In Exporatory testing the basic moduole is executed and depending on its results, the next plan is executed. 




36. How do we test for severe memory leakages ? 


By using Endurance Testing . 


Endurance Testing means checking for memory leaks or other problems that may occur with prolonged execution. 




37. what is the difference between quality assurance and testing? 


Quality assurance involves the entire software development process and testing involves operation of a system or application to evaluate the results under certain conditions. QA is oriented to prevention and Testing is oriented to detection. 




38. why does software have bugs? 


1) miscommunication 


2) programming errors 


3) time pressures. 


4) changing requirements 


5) software complexity 




39. how do u do usability testing,security testing,installation testing,ADHOC,safety and smoke testing? 


(이런 질문에 모범 답안은 없습니다. 각자가 어떻게 해왔는지에 대한 경험의 차이겠지요. 테스트해 온 제품에 따라, 어떤 테스트를 어떻게 적용하느냐가 늘 문제로 이슈될 것입니다.)




40. What is memory leaks and buffer overflows? 


Memory leaks means incomplete deallocation - are bugs that happen very often. Buffer overflow means data sent as input to the server that overflows the boundaries of the input area, thus causing the server to misbehave. Buffer overflows can be used. 




41. what are the major differences between stress testing,load testing,Volume testing? 


Stress testing means increasing the load ,and cheking the performance at each level. Load testing means at a time giving more load by the expectation and cheking the performance at that leval. Volume testing means first we have to apply initial.