Previously, I worked in merchandise operations within the Social Commerce and E-Commerce sectors, in which my task was refining pricing strategies, stock forecasting, and delivering comprehensive sales performance insights.
However, I've always been curious and have a strong desire to learn about technology and IT. Iβve recently embarked on a Quality Assurance Engineer mini boot camp where I learned to create detailed test cases, delved into basic programming in Java, and learned tools like Postman for API testing and Katalon for automation.
Transitioning into the realm of Quality Assurance excites me greatly. I'm eager to apply these newfound skills to gain hands-on experience and kickstart a fulfilling career in this field π.
Quality Assurance Engineer
online course by Digital Skola
Learn essential skills to become a QA Engineer, covering software testing, the software test lifecycle, API manual testing, and hands-on reporting.
Certificate link
For more detailed information about my work experience, please download my CV.
- Test Case for The Check Data feature
- Creating Bug report when the user clicks the continue button directs to a
404
page
Example work, please check the Google Sheet here
In this project, our task was to develop API test cases using the POST
/ GET
/ DELETE
methods. Additionally, for demonstration purposes, we utilized the Swagger Petstore within the user section.
-
POST
: in this example, I'm sending aJSON
body that contains the details of the new user and expect a response body and a200 OK
response status code -
GET
: This method is to retrieve information or a resource from a server, with theJSON
data that we created -
DELETE
: With this method, we can delete the user data that we previously created. Included the username parameter in the URL.
I've created an example of an API test results template using a spreadsheet.
- Spreadsheet API Test example
- Postman Workspaces
Our task was to develop an API automation script utilizing the POST
/ GET
/ DELETE
methods. For writing tests, we employed Java
programming language and the Karate-JUnit5
Framework. Karate, an open-source test automation tool, facilitates tests authored in the Behaviour Driven Development (BDD) style. In our demonstration, we interact with the Swagger Petstore within the user section. Here is an example script:
Feature: User List
Background: Setup
Given url baseURL
And print "--Create User Data--"
Scenario: Create User With List
* def body =
"""
{
"id": 100,
"username": "blackout123",
"firstName": "blackout",
"lastName": "decepticon",
"email": "[email protected]",
"password": "password123",
"phone": "080989999",
"userStatus": 1
}
"""
* def header = {Accept: 'application/json'}
When path "/user/createWithList"
And request body
And headers header
And method post
Then status 200
And print response
And match response == {code:200, type:'unknown', message:'ok'}
Behaviour-Driven Development (BDD) is a software development and testing approach that bridges the gap between technical and non-technical teams.
By integrating Karate with JUnit 5, we can write and execute Karate tests within the JUnit 5 framework, an example of using the JUnit Runner and .html
reports that Karate outputs.
Feel free to explore my repository for more details on utilizing the Karate framework and configuring dependencies.
In this project, our objective is to create a scenario focusing on testing the login functionality of a web application. We're utilizing Selenium WebDriver and the TestNG framework for this task. To showcase the demonstration, we're interacting with herokuapp.com.
The test navigates to a login page, performs login actions, and verifies the login was successful by getting the element with xpath
then expect if the element contains a "Secure Area" text. Here's an example:"
@Test
public void loginTest(){
// Open Browser
WebDriverManager.firefoxdriver();
driver = new FirefoxDriver();
// open the browser fullscreen
driver.manage().window().maximize();
driver.get("https://the-internet.herokuapp.com/login");
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
// Login
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("username")));
// find element by id, name, xpath
driver.findElement(By.id("username")).sendKeys("tomsmith");
driver.findElement(By.name("password")).sendKeys("SuperSecretPassword!");
driver.findElement(By.xpath("//button[@class='radius']")).click();
// verifies the login was successful if the element contain "Secure Area" text
String txtActualBerhasilLogin = driver.findElement(By.xpath("//h2[contains(.,'Secure Area')]")).getText();
String txtExpectedBerhasilLogin = "Secure Area";
Assert.assertEquals(txtActualBerhasilLogin, txtExpectedBerhasilLogin);
This is an example of the Negative Test Case for a failed login page, expected text that contains
"Your password is invalid!"
visit my repository for more web automation project
-
Yopmail-Extract-Text, This project focuses on extracting content from webpages utilizing the
<iframe>
switch. -
Web-Automation-Assignment, This repository is a web automation project that applies Object-Oriented Programming (OOP) principles.
The project involves creating web automation using Katalon, focusing on demoblaze for the demo web. The tasks include writing scenarios for signing up, signing in, and purchasing items up to the payment stage. This is an example of running a Parallel Test:
For more detailed information, please visit my repository for Katalon Web Automation
Explore more of my work examples on my GitHub profile