0% found this document useful (0 votes)
24 views10 pages

QA Automation Engineer Assignment Careers Authenticate 1

The assignment requires the creation of a comprehensive automation framework for frontend and backend testing of E-commerce websites like Amazon and Flipkart, using JavaScript and various specified tools and frameworks. It includes tasks such as automating product searches, API testing, data validation, performance and security testing, and generating detailed reports. An optional task involves automating an open-source API, focusing on framework creation, test case coverage, and technical knowledge demonstration.

Uploaded by

Raghav Singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views10 pages

QA Automation Engineer Assignment Careers Authenticate 1

The assignment requires the creation of a comprehensive automation framework for frontend and backend testing of E-commerce websites like Amazon and Flipkart, using JavaScript and various specified tools and frameworks. It includes tasks such as automating product searches, API testing, data validation, performance and security testing, and generating detailed reports. An optional task involves automating an open-source API, focusing on framework creation, test case coverage, and technical knowledge demonstration.

Uploaded by

Raghav Singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

QA Automation Engineer Assignment

Objective:(Option 1)
Task : Create a comprehensive frontend and backend automation framework from
scratch. The framework will automate the process of searching for a product on
Amazon.in and Flipkart.in or any other E-commerce websites, Navigating through the
purchase process, and comparing the lowest-cost product available on both platforms.
Requirements:

1. Programming Language: Javascript

2. Frameworks:

○ Frontend Automation: Cypress / Playwright Selenium

○ Backend Automation: REST Assured, Requests, Postman

3. Tools:

○ Version Control: Git/ Any preferred

○ CI/CD: GitHub Actions, Jenkins, or any other CI/CD tool of your choice.

Assignment Details:
1. Setup:

○ Initialize a new repository on GitHub.

○ Set up a basic project structure.

○ Include a README file with instructions on how to set up and run the tests.

2. Frontend Automation:

○ Search Product:

■ Automate the process of opening Amazon.in and Flipkart.in


or any other E-commerce websites.

■ Search for a specified product (e.g., "Titan watch").

■ Capture the product details including name, price, and


link to the product.
○ Navigate to Add to Cart Screen:

■ Select the first product from the search results.

■ Navigate to the "Add to Cart" screen.

○ Navigate to the Buy Now Screen:

■ Navigate from the "Add to Cart" screen to the "Buy Now" screen.

○ Navigate to the Payment Gateway Screen:

■ Proceed to the payment gateway screen (no need to


perform the actual purchase).

3. Backend Automation:

○ API Testing:

■ Identify and test at least one relevant API endpoint from


Amazon.in and Flipkart.in (e.g., search product API).
■ Validate the response structure and content.

○ Data Validation:

■ Compare the product details retrieved from the frontend


automation with the data from the API response to ensure
consistency.

○ API Value Consumption:

■ Use values from one API's response as inputs to another API


request. For example:
■ Use the product ID obtained from the search API
response to fetch detailed product information or stock status.
■ Use the cart ID from one platform to validate the cart
details or perform further actions like calculating shipping
costs.

4. Comparison:

○ Compare the prices of the product from both platforms.

○ Identify and log the platform offering the lowest price.

5. Reporting:

○ Generate a detailed test report.


○ Include screenshots at each step of the frontend automation process.

○ Log the comparison result clearly indicating which platform offers


the lowest price for the specified product.

Utilization for Performance and Security Testing:


1. Performance Testing:

○ Integrate the frontend and backend tests with performance testing


tools such as JMeter or Locust.
○ Use the automated scenarios to simulate multiple users
performing searches, navigating to the add-to-cart screen, and
proceeding to the buy now screen.
○ Measure response times, throughput, and resource utilization.

○ Identify any performance bottlenecks or slow responses under load.

2. Security Testing:

○ Integrate security testing tools such as OWASP ZAP or Burp


Suite with the backend tests.
○ Perform automated vulnerability scans on the API endpoints to
identify common security issues like SQL injection, XSS, CSRF, etc.
○ Utilize the frontend automation to simulate user actions and
ensure proper security measures (e.g., HTTPS, secure cookies, etc.)
are in place.
○ Conduct API fuzz testing to uncover unexpected behavior and
potential security flaws.
Deliverables:

3. Code Repository:

○ A GitHub repository with the complete codebase.

○ Please share your assignment access with the below-mentioned ids:

GitHub ID: Authenticate9


Email ID: [email protected]

○ Clear commit messages and a clean project history.

4. Documentation:

○ A README file explaining


○ Project setup instructions.

■ How to run the tests.

■ An overview of the framework design and structure.

○ Inline comments and documentation within the code for better understanding.
5. Test Report:

○ A comprehensive test report is generated from the test execution.

○ Screenshots embedded within the report to illustrate the frontend automation steps.
○ Detailed logs of the comparison results.

6. Performance and Security Test Results:

○ Reports from performance tests showing metrics and analysis.

○ Security test reports highlighting any vulnerabilities found and recommended fixes.

Evaluation Criteria:
Code Quality:

1. Readability, maintainability, and use of best practices.

2. Proper use of design patterns and framework structure.

Completeness:

1. Coverage of all the specified test cases and scenarios.

2. Comprehensive documentation and reporting.

Efficiency:

1. Execution time of the test cases.

2. Efficient use of resources and tools.

Innovation:

Any additional features or improvements made beyond the


assignment requirements.
Creative solutions to potential challenges encountered during the automation.

NOTE: If you are not able to automate the backend api’s of e-commerce
websites in the above task or facing difficulties then Automate the
Frontend from (OPTION-1)and automate the backend Api’s using the
below steps (Option 2)

This part is optional and not mandatory if you have completed both the
Frontend and backend assignments mentioned in 1st task.
Objective:(Option 2)
Task: The purpose of this assignment is to evaluate the ability of candidates to find and
automate an open-source API using a backend automation framework. The assignment
will assess the automation framework creation, the depth and breadth of test cases, and
the demonstration of technical knowledge.
Assignment Instructions:

1. API Selection:

■ Find any open-source API available on the web (e.g., public


APIs listed on GitHub or other repositories).

■ Ensure the selected API has a sufficient number of endpoints


and features to demonstrate a variety of test cases.

2. Automation Framework:

■ Create an automation framework using JavaScript


Use appropriate libraries and tools for API testing (e.g.,
RestAssured, Postman).
■ Structure your framework to support scalability and maintainability.

3. Test Cases:

■ Write a comprehensive set of test cases covering:


■ Positive Test Cases: Validating successful scenarios.
■ Negative Test Cases: Handling invalid inputs and error conditions.
■ Edge Cases: Testing limits and boundaries of the API.
■ Ensure your test cases cover different HTTP methods (GET, POST, PUT, DELETE, etc.)
and various scenarios.
4. Documentation:

■ Provide clear documentation on how to set up and run your


automation framework.
■ Include a README file explaining the API selected, the
structure of your framework, and instructions for executing the
tests.

5. Submission:
● Submit your assignment via a GitHub repository link. Ensure your repository is public
and accessible.

6. Evaluation Criteria:

Automation Framework Creation (40%):

■ Design and Structure:

■ How well is the framework structured? Is it modular and scalable?

■ Are industry best practices followed in the framework's design?

■ Code Quality:

■ Is the code clean, readable, and maintainable?

■ Are appropriate coding standards and conventions followed?

■ Tools and Libraries:

■ Are the right tools and libraries chosen for the task?

■ Is there effective utilization of the chosen tools and libraries?

7. Depth and Breadth of Test Cases (40%):

■ Coverage:

■ How comprehensive is the test coverage? Are both basic and advanced scenarios
covered?
■ Is there a balance between positive, negative, and edge cases?

■ Number of Test Cases:

■ How many test cases are written? Are they sufficient to ensure thorough testing of the API?
■ Test Case Quality:
■ Are the test cases well-defined and do they effectively validate the functionality?
■ Are the assertions in the test cases meaningful and accurate?

8. Technical Knowhow (20%):

■ Understanding of API Testing:


■ Does the candidate demonstrate a solid
understanding of RESTful principles and API testing?
■ Is there evidence of knowledge about handling
different response statuses, payloads, headers, and
authentication methods?

■ Problem Solving:

■ How effectively does the candidate solve potential


issues and challenges in API automation?
■ Are the solutions implemented efficiently and effectively?

■ Innovative Approaches:

■ Are there any innovative or unique approaches


used in the framework or test cases?
■ Is there any extra effort shown in making the
framework robust and versatile?

Here are a few examples of websites with open-source APIs that can be
automated for backend testing:
1. JSONPlaceholder

■ Description: JSONPlaceholder is a free online REST


API that you can use whenever you need some fake data.
■ API Documentation: JSONPlaceholder

■ GitHub Repository: JSONPlaceholder GitHub

2. OpenWeatherMap

■ Description: OpenWeatherMap provides weather


data including current conditions, forecasts, and historical
data.
■ API Documentation: OpenWeatherMap API

■ GitHub Repository: OpenWeatherMap on GitHub

3. The Dog API

■ Description: The Dog API provides information about


different dog breeds, random dog images, and more.
■ API Documentation: The Dog API

■ GitHub Repository: The Dog API GitHub

4. GitHub REST API

■ Description: GitHub REST API provides access to


GitHub resources such as repositories, users, and issues.
■ API Documentation: GitHub REST API

■ GitHub Repository: GitHub REST API GitHub

5. ReqRes

■ Description: ReqRes is a hosted REST-API ready to


respond to your AJAX requests.
■ API Documentation: ReqRes API

■ GitHub Repository: ReqRes GitHub

6. NASA Open APIs


■ Description: NASA provides various open APIs for
accessing data related to space and astronomy.
■ API Documentation: NASA Open APIs

■ GitHub Repository: NASA Open APIs GitHub

7. CoinGecko API
■ Description: CoinGecko provides a comprehensive API for accessing cryptocurrency
data.
■ API Documentation: CoinGecko API

■ GitHub Repository: CoinGecko API GitHub

8. PokeAPI

■ Description: PokeAPI provides information about


Pokémon, their moves, abilities, and more.
■ API Documentation: PokeAPI

■ GitHub Repository: PokeAPI GitHub

These APIs offer a range of data and endpoints that are suitable for
testing various scenarios, including CRUD operations, authentication,
and more complex workflows.
1. Authenticate:

■ Description: API’s provide information about identity verification.

■ API Documentation: https://docs.authenticate.com/

Note:

1. Please clearly mention any assumptions while doing an assignment.

2. Please share a (Loom) video recording to explain: framework and test cases
implemented.
3. Only completed assignments would be evaluated.
4. Preference would be given to candidates who can use End-to-end testing frameworks,
where Backend and Frontend tests can be automated in one go!
5. Ques) How many test cases are sufficient or needed to complete the assignment? Answer:
There is no fixed number of test cases. Just ensure all scenarios are covered in the test
cases submitted. Remember Quality >>> Quantity and Test coverage are a must.

Please submit your completed assignment within 4 days of working and please
communicate the submission date and time before starting the assignment. If you have
any questions or need further clarification, feel free to reach out.

Please share your assignment access with the below-mentioned ids

GitHub ID: Authenticate9

Email ID: [email protected]

Good luck!

You might also like