Responsibilities & Qualities of a Lead Automation Test Engineer

Responsibilities & Qualities of a Lead Automation Test Engineer are:
The Senior Test Automation Engineer will lead the effort to build new test frameworks and or extend existing frameworks. The tool/s accommodates both functional and load testing. These frameworks allow us to perform end-to-end testing in multi-component environments. He will working with the test engineers to design and develop a reusable architecture for the test automation. The Framework or Automation Architecture should consists the following:
 

  • Prepare Reusable functions, which improve the robustness, re-usability, and maintainability of their test scripts.
  • The framework should be designed in such a way that it increases and speeds up their productivity.
  • The engineer also must support the framework/s, for example, supporting dev/qa with issues using the tool. The engineer will implement automation test scripts. Integration with the test management tool is also, planned.
  • The Senior Test Automation Engineer must be able to take on leadership responsibilities and influence the direction of the automation effort, and its schedule and prioritization.
  • The engineer will work with management, developers, and quality assurance personnel, to meet these goals.
  • Additionally the Test Automation Engineer will also be involved in supporting the build master implement/improve build test processes, environments, and scripts. These build tests ensure that the code drops to quality assurance are of the highest quality.
  • ADDITIONAL
  • He will provide a practical approach to complex product testing, specifically in the areas of the automation of test cases for the purposes of regression testing. You will be a creative and proactive thinker and you will make use of current technologies to provide extensible automation infrastructures.
  • He will review product requirements, functional and design specifications to determine and prepare automated test cases.
  • He will work closely with other QC team members to automate the execution and verification of reports created by the various company products.
  • He will work closely with various Dev team members to understand testing objectives and ensure that problems are resolved in a timely and efficient manner.
  • He will be part of a team focusing on automation of an identified set of migration tests, checking they run correctly and working within the infrastructure. The team would focus on develop and test these automation buckets which would be executed by other teams..

Responsibilities & Qualities of an Automation Test Engineer

Responsibilities for Automation Test Consultants may include:
* Establish an automated test environment for UI and non-UI testing
* Review test cases and automate whenever possible
* Educate team members on test automation and drive adoption
* Integrate automated test cases into nightly build system
* Design, document, manage and execute test cases, sets, and suites
* Work in cross-functional project teams that include Development, Marketing, Usability, Software Quality Assurance, Customer Learning, and Support.
Responsibilities of an Automation Test Engineer are dependent on the test phase and test automation framework:
Test Phase:
Unit Test

The test automation engineer, in this case the application developer, instruments the application code in order to enable effective and repetitive unit testing of the code before it is incorporated into the current build. There are several Agile Development paradigms that incorporate this concept / process into their standard development cycle.
Function & System Test
The test automation engineer develops automated solutions to expedite test. This can take the form of tooling to increase the efficiency of test preparation and / or the creation automated of test cases.
Acceptance TestThe test automation engineer develops and deploys automated solutions to expedite acceptance test. In Function and System test the Test Engineer fulfils the same role but it is in the context of the Test Organization – if automation tooling is deployed as part of Acceptance Test then the automation solution should be treated / tested as part of the System being deployed.
For any given Test Phase the objective of the Test Automation Engineer is to put the power of automation into the hands of Test Designers / Testers. The Test Engineer should deploy the simplest solution to meet the defined need – the objective is not to build the “best automation solution ever” the objective is to effectively automate the testing effort.

Challenging Test Automation Questions – Judge Yourself

1. Our software designers use UML for modelling applications. Based on their use cases, we would like to plan a test strategy. Do you agree with this approach or would this mean more effort for the testers?

2. Tell me about a difficult time you had at work and how you worked through it?
3. Give me an example of something you tried at work but did not work out so you had to go at things another way?
4. How can one file compare future dated output files from a program which has change, against the baseline run which used current date for input. The client does not want to mask dates on the output files to allow compares?
5. What automating testing tools are you familiar with?
6. How did you use automating testing tools in your job?
7. Describe some problem that you had with automating testing tool.
8. How do you plan test automation?
9. Can test automation improve test effectiveness?
10. What is data – driven automation?
11. What are the main attributes of test automation?
12. Does automation replace manual testing?
13. How will you choose a tool for test automation?
14. How you will evaluate the tool for test automation?
15. What are main benefits of test automation?
16. What could go wrong with test automation?
17. How you will describe testing activities?
17. What testing activities you may want to automate?

Load/Performance Testing Limitations with Manual Testing

Have you ever tried to test performance testing manually? or Are you performing load testing manually? Do you know its drawbacks? If you doing load/performance testing manually then it might let costly failures of Mission-critical applications.
Before discussing the limitations of performance testing with manual testing, lets discuss Why Performance / Load Test is required?

Load/Performance Testing is required to expose bugs that do not surface during Functional Tests Ex. Memory leaks, buffer overflows. To Assure Performance & functionality under real-time conditions. To locate potential problems before deployment in production. To establish a baseline for future regression testing.

To verify and prove the soundness of Infrastructure. To collect metrics on various performance measures.
Manual performance testing is not feasible for testing systems which must support tremendous loads. Following are the Load testing Limitations with Manual Testing:

1. Generate enough load to perform testing.
2. Obtain sufficient testing personnel (Users) and host machines.
3. Synchronize Users.
3. Measuring Test results.
4. Repeatability of tests after identifying & fixing bottlenecks.

Related article – LoadRuner Tips

A Must read – Art of Application Performance Testing

LoadRunner Tips

Note – These tips are very helpful. most of them are taken from http://kb-web.mercury.com/

 
1. To get the password of an auto-generated lr_decrypt() function:
char * password;
web_set_user(“2testuser”, lr_decrypt(“41754c8245221983220368db”),”preview.fanniemae.com:80″);
password=lr_decrypt(“41754c8245221983220368db”);
lr_output_message(“password:%s”,password);

2. Problem Description: How to capture the total bytes of a request/response from the server

Solution: Use the web_get_int_property function
In VuGen 8.1, there are additional options available for the web_get_int_property function like HTTP_INFO_TOTAL_REQUEST_STAT and HTTP_INFO_TOTAL_RESPONSE_STAT. These options return the accumulative size (including header and body) of requests and responses.
Related articles that may be of interest:
Problem ID 29810 – How to verify the size of the last download in bytes
Problem ID 23220 – How to capture HTTP return code information
Problem Description: How to verify the size of the last download in bytes

Solution: Use web_get_int_property( HTTP_INFO_DOWNLOAD_SIZE )
You can use the web_get_int_property() function with HTTP_INFO_DOWNLOAD_SIZE to check the size (in bytes) of the last download.
Example:
long i;
//Start a transaction to download the file.
lr_start_transaction(“file_download”);
//HTTP call to the .pdf file
web_url(“<HTTP call to the pdf file>”);
//Get the download size.
i = web_get_int_property( HTTP_INFO_DOWNLOAD_SIZE );
//Output file size
lr_output_message(“File size downloaded : %d”, i );
//End a transaction to download the file.
lr_end_transaction(“file_download”, LR_PASS);

Problem Description: How to capture HTTP return code information
The user uses the following function to capture the return code of a webpage:
   HttpRetCode = web_get_int_property(HTTP_INFO_RETURN_CODE)
However, this function only captures the last status code that was received. If there is a redirection in between, it is not reflected. How can user detect redirection on a page?

Solution: Function to capture HTTP return code
To capture the HTTP returned code, you can use the web_get_int_property function.
Example:
HttpRetCode = web_get_int_property(HTTP_INFO_RETURN_CODE)
Note:
The web_get_int_property function only captures the last status code that was received. If there is a redirection in between, it is not reflected. To get all of the responses, you can use the web_reg_save_param function with:
1. The “ORD=ALL” attribute to capture all occurrence.
2. The “Search=Headers” attribute to search the response header only.
Example:
web_reg_save_param(“response”,”LB=HTTP/1.1 “, “RB= “, “Search=Headers” ,”ORD=ALL”, LAST);


Problem Description: How to change the default host in the Controller
When creating a new scenario, LoadRunner automatically adds “localhost” as the default Load Generator machine. Is it possible to change this default?

Solution: Change DefaultHost in the wlrun7.ini file
1. Go to the C:/Windows or C:/WinNT folder.
2. Open the wlrun7.ini file in Notepad.
3. Search for “DefaultHost.”
4. Replace “localhost” with the name or IP address of the machine you want set as the default host.


Problem Description: How to save the list of Load Generators or hosts in the Controller

Solution: Use the “Save LoadGenerator List as Default” option
1. Create a new scenario.
2. Click on the “Generators” button to bring up the list of Load Generators.
3. Click on the “Add” button to add the new hosts.
4. Repeat step 3 for all the hosts.
When you are done, go to Scenario -> “Save LoadGenerator List as Default.”


Problem Description: Which file stores the Load Generator list
Which file on the Controller machine stores the list of Load Generators when the option Scenario -> Save Load Generators as Default list is selected?

Solution: The wlrun7.hst file located in the C:winnt folder
The wlrun7.hst file located in the C:winnt folder. It has sections defined for each of the Load Generators.


Problem Description: How to delete default URL on the Web Recorder’s pull down menu
When the user opens the Web Recorder (starting with LoadRunner 7) and tries to record, the recorder opens a list of URLs that were recently accessed. How can the user remove unwanted entries from this menu?

Solution: Edit the HKEY_CURRENT_USERSoftwareMercury InteractiveQuickTestRecording History registry key
All recently accessed URLs’ information is stored in the registry under HKEY_CURRENT_USERSoftwareMercury InteractiveQuickTestRecording History.
To remove an unwanted URL:
1. Go to Start -> Run and enter “Regedit” to open the Registry Editor.
2. Open the HKEY_CURRENT_USER -> Software -> Mercury -> QuickTest -> Recording History folder. This lists all the URLs in the Web Recorder’s pull down menu.
3. Delete those entries you no longer want to appear.


Problem Description: How to remove the scripts that are listed in “Available Scripts”
How can the user remove the scripts that are listed in “Available Scripts” when creating a new scenario?

Solution: Delete the unwanted script entries from the registry
All recently accessed URL information is stored in the registry under HKEY_CURRENT_USERSoftwareMercury InteractiveRecentScripts.

To remove unwanted URL:
1. Go to Start -> Run and type in regedit to open the Registry Editor.
2. Open the HKEY_CURRENT_USER -> Software -> Mercury -> Recent Scripts folder. This lists all the files listed in the “Available Scripts” section when the Controller is launched.
3. Delete those entries you no longer want to appear.