Test Automation Architect Assignment

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Test Automation Architect Assignment

Important Notes
For any access related issues (SVN, vdi etc.) please log a ticket with http://operations.devfactory.com. You can do a
self-service registration on the site and log your ticket. While creating the ticket, please mention the following:
-Your user id
-Your role as Trial Period Candidate
DO NOT DELETE ANY VDI TEMPLATES OR COMMIT TO SVN. This will lead to automatic disqualification.
You are not allowed to post anything on public related to your involvement with Devfactory, otherwise you will be
disqualified.

General Instructions
1. There are several parts in the assignment, please attempt to complete as much as possible.
2. Please use the specified vm and svn details only.
3. We use VM templates saved on Amazon EC2 for all our development, to save time on setup. One template is provided
for each issue, and a tool called VDI is used as the interface for the templates. Please see gDev VDI for details about
how to use VDI.
4. Please note that you are expected to delve through and work on assignment yourself. Any indication of outside help will
lead to disqualification and candidate will not be allowed to apply again for Devfactory.
5. Do not check in any code to the SVN repositories specified.

Queries
1. Do not expect too much of hand holding during the assignment
2. Refer to the FAQ page of this assignment for answers to some common questions
3. If you don't find answer to your query in the FAQ page, you can send an email to omar_valadez@devfactory.com*.
(*Kindly note that trivial queries will have a negative impact on your scoring.)
4. You can escalate to prabhat.ranjan@versata.com if you don't get an answer within 24 hrs on weekdays

Assignment
Here are the details of the assignment. Try to resolve an many issues as you can. All the best .

Please try to complete as much as possible within that time-frame, even if you do not finish the assignment. Your work will be evaluated
based upon:
The quality of your outputs (functionality)
The effectiveness of your communication
Your ability to resolve issues independently
Please note that you are expected to work on the assignment independently. Discussing assignment details with colleagues will be considered
cheating.

Table of contents
Table of contents
Your Role
Getting access

Part 0 (Preconditions)
TestComplete
Part 1- Implement ATC (60 Units)
Instructions to prepare VM
The Assignment
Part 2 - Fix Broken ATC (40 Units)
Instructions to prepare VM
The Assignment
Delivery / What to submit
FAQ
What should I do if I meet 'Not a valid period' issue ?

Your Role
Hi,
Welcome to Trial Assignment for Test Automation Architect position!
As a Test Automation Architect, your main role will be to implement high quality automated test cases using Test Complete, do investigation of
current methodologies and process, suggesting improvements, optimising test run time. Automated test case implementation involves a wide
range of knowledge and skills like TestComplete, developing interfaces (UI) and Javascript. Almost all of your development work will be
performed inside of a virtual machine (VM) running in the cloud over a remote desktop (RDP or VNC) connection.
You will have to be in position to automate test case scenarios yourself, find solutions/workarounds for complex and difficult problems, innovate,
support and mentor other partners and team members, create documentation and several more.
Moreover, you will have to attend weekly meetings with the team, report your progress, and work together with team member to achieve your
goals.
At a high level, your input is going to be documented test case scenarios (TCMs) and your output should be automated test cases (ATCs).
The key to your success is to adhere to our processes and tools and be able to understand and follow standard procedures.
In the following you will find everything required for you to complete this 3 days assignment.
This assignment will determine whether you are ready or have what it takes to join test automation team.
Your skills are going to be tested in the following areas:
1.
2.
3.
4.
5.
6.

Automating ATCs using TestComplete


Troubleshooting
Understanding and holding the quality bar by reviewing given automated test case scenarios
Understand CommonRepository structure
Using tools to generate/review ATC
Quality Bar Standards

Getting access
To be able to work on your assignment, make sure you have access to the following gDev systems. If you don't have access - create a ticket at
operations.
1. VDI (http://vdi.gdev.com)

Part 0 (Preconditions)

The core of the whole assignment is TestComplete automation tool.


You will find valuable resources from TestComplete online and offline help.
Pay much attention to NameMapping file and read as much as you can regarding how this works.
Make sure you read at least the following spaces on Confluence:
TestComplete
Test Automation Quality Bar:
Follow the validation pattern: [Validation Pattern]
Test each Validation Step: [Not Testing Each Validation Step]
Avoid Hard Coding Values: [Hard Coding Values]
Stable, Data & Environment independent: [Fragile Test Step|]
Each step using correct timing: [Timing]
Reuse Common Repository: [Ignoring Common Repository]
Methods and Functions to avoid: [Function and Method to avoid]
Keyword Test Commenting: [Keyword Test Commenting]
Scripts Commenting: [Scripts Commenting]
Ensure you run the auto code review tool against your delivery and make sure it passes before it is delivered.([Review
ATC's tool])
Best Practices Best Practices - TAM Reference
Prepare a package that can include any build log files or Test Complete Log files or Winks or any other files which can
prove that you get the Environment ready.

Be Careful
When working on Remote Desktop and you are executing an ATC in a VM DO NOT minimise or close RDP.
This will cause the ATC to fail.
When deploying a new VM, use a medium instance or large when available. Do not work with small instances as TestComplete
is too slow on them.
Always connect on VMs with RDP using 1280X1024 screen resolution.
If tha is not possible use what is more close to this.

Backup You Work


Make sure you keep a backup of your work daily.
zip your work and store it in your documents Google account.
In case the VM expires, it cannot be restored.
The lease time on VDI VMs is the actual expiration date.
In case you loose your work, you will have a chance to do it again, but with no additional option.

TestComplete
Important thing to mention regarding TestComplete. You may get the following error message from time to time when try to launch TestComplete:

This means, that a lot of people use TestComplete at the same time. But usually you're able to get free license in <15 minutes. So just press "Try
again" each 1-2 minutes.
The same applies to unavailable features errors. Sometimes you can continue your work if you'll disable some features - you may try doing this.
But if disabled features do not allow you to continue your work - wait until you'll be able to launch TestComplete with all features (usually < 15
minutes).

Part 1- Implement ATC (60 Units)


Instructions to prepare VM
1. Create m1.large instance size job using this VM template.## From the template page, click Create Job## Set the Job Usage dropdown
field to DevelopmentTask## Type text into the Name textbox that will help you differentiate between your own VMs (e.g. CommonEIS
Std)## Type text into the Description textbox for your work (e.g. ATC development)## Set the Instance Types dropdown field to
m1.large## Be aware of the Daily Poweroff time setting and set appropriately for your time zone - your machine will automatically
power down at this time everyday (VDI server time)## Leave other fields at default and click the Create button
2. Wait for the job to finish launching (you can refresh the VDI job page to check status)
3. Login to the VM (with RDP or VNC) using username (Administrator) and password from VDI job info page
4. Start following services from Windows services
a. Apache Tomcat6 service
b. OracleMTSRecoveryService
c. OracleOraDb11g_home1TNSListener
d. OracleServiceDBCEIS
5. DevFactory TestComplete V9 tools are already installed. You can find them on Desktop.
6. Navigate to folder C:/GBuildWork/CommonEIS/testcomplete-data/Testing_Framework/TestSuites/InitializationSuite and double click on
the pjs file. TestComplete will start. If you get a license error it could just be a busy time, please retry until TestComplete opens.
7. Run the InitializationSuite.

The Assignment
260105 is a manual test case that you will implement. Follow the help resources provided to use the TCMtoATC Wizard tool from the TC Tools
application to create a project for ATC id (testrail id) 260105, add this newly created project to the InitializationSuite that should already be open
in TestComplete, and finish implementing all of the automation for the test following the quality bar rules and using other ATCs as an example to
guide you. Use the ATC Review tool from the TC tools application to check for mistakes, but also check carefully by hand as the review tool will
not find all problems.
Notes
Do not commit anything into SVN. Read the other instructions in this document for guidance on backing up your work and
delivering the final result
This TCM contains simulated, real-world style imperfections. When reading a TCM, the alias list should be considered a helpful
suggestion, but the other text (action and validation instructions) should be considered exactly what the ATC needs to automate. The
best solution is an ATC that exactly automates the TCM instructions despite imperfections.
Any quality bar violations will count against your score. Particularly errors shown by the review tool will count highly against you.

Part 2 - Fix Broken ATC (40 Units)


Instructions to prepare VM
1. Create m1.medium1 instance size job using this VM template.
1.
2.
3.
4.
5.
6.

From the template page, click Create Job


Set the Job Usage dropdown field to DevelopmentTask
Type text into the Name textbox that will help you differentiate between your own VMs (e.g. Artemis7 Std)
Type text into the Description textbox for your work (e.g. ATC development)
Set the Instance Types dropdown field to m1.medium
Be aware of the Daily Poweroff time setting and set appropriately for your time zone - your machine will automatically power down at
this time everyday (VDI server time)
7. Leave other fields at default and click the Create button
1. Wait for the job to finish launching (you can refresh the VDI job page to check status)
2. Login to the VM with RDP or VNC (you may need to use the VDI buttons Open VNC or Open RDP to be able to connect to the
machine); use the username (Administrator) and password from VDI job page
3. Make sure Apache Tomcat and Sql Server (MSSQLSERVER) services are running.
4. Download the ATC ( find in attachments folder : BrokenATC.zip) and extract it to C:/GBuildWork/Artemis7/testcomplete-data/ATCs
folder.
5. Navigate to folder C:/GBuildWork/Artemis7/testcomplete-data/Testing_Framework/TestSuites/InitializationSuite and double click on the
6.pjs file. TestComplete will start. If you get a license error it could just be a busy time, please retry until TestComplete opens.
7. Run the InitializationSuite.
Add BrokenATC to the project suite.

The Assignment
BrokenATC has some issues and does not run successfully. Your goal is to fix the issues and make it run successfully. To start the
assignment run the ATC and check the failure reason. Continue to do that till ATC runs successfully. The ATC should be implemented
to pass the quality bar.

Delivery / What to submit

Delivery Instructions
1. You will only get one chance to deliver, so follow these steps when you want to deliver your work
2. Create a zip archive named <your_name - Test Automation Architect>.zip with all deliverables
3. Login to :http://184.72.213.117/tams2/Candidates.html Using credentials sent to you in invitation/credentials mail (
personal email, and given password)
4. Go to assignment menu -> Upload Assignment, and upload your archived delivery.
5. Kindly note that any delivery that doesn't follow this will not be evaluated
NOTE: If you faced any issue related to credentials or access permission or our environment that consumes valuable time of
you trial period, you can submit extension request using candidate portal Requests -> Assignment Extension Request.

Please, read and follow this section carefully. Any delivery that does not follow this section will score much less or simply won't be
evaluated.
First of all, review section "Delivery Instructions" at the top of this page, which describes general delivery process.
Delivery for this assignment should consist of:
Zip archive named <your_name - Test Automation Architect>.zip, containing the following:
Folder named "Task_1", containing folder for automated TCM given in part 1.
Folder named "Taks_2", containing folder for modified ATC given in part 2.
MAKE SURE THAT COMMON_REPOSITORY IS INCLUDED WHEN APPLICABLE
Readme file including the URL to your two VDI machines (remember to edit the jobs and share read/write permissions).
So the resulting structure of your delivery should be:
<your_name - Test Automation Architect>.zip
<your_name - Test Automation Architect>.zip \readme.txt
<your_name - Test Automation Architect>.zip \ TASK_1
<your_name - Test Automation Architect>.zip \ TASK_2

FAQ
What should I do if I meet 'Not a valid period' issue?
From the main menu bar, select File > Setup > Accounting > Periods. You will see the Fiscal Period Setup dialog box.
From the Fiscal Period Setup dialog box, click New. You will be able to enter the details for the new fiscal year in the Fiscal PeriodSetup dialog
box, then create a fiscal year for CURRENT_YEAR.

You might also like