Իմ մասին
Ես QA Automation Engineer եմ՝ հմուտ թե՛ մանուալ, թե՛ ավտոմատացված թեստավորման մեջ։ Տիրապետում եմ հետևյալ ծրագրավորման լեզուներին՝ Java, JavaScript և Python, ինչպես նաև Ավտոմատացման գրադարաններին՝ Selenium և Playwright։ Ծրագրավորումն ու վեբ տեխնոլոգիաները սկսել եմ ուսումնասիրել 2021 թվականից։ Այդ ժամանակից ի վեր կառուցել եմ ամուր տեխնիկական բազա՝ անցնելով մասնագիտացված դասընթացներ, աշխատելով տարբեր նախագծերի վրա ինչպես նաև ինքնուրույն զարգանալով։
Մասնագիտացած եմ end-to-end ավտոմատացված թեստերի մշակման և պահպանման մեջ՝ օգտագործելով Page Object Model (POM) կառուցվածքը։ Իմ փորձը ներառում է նաև Test Case-երի ստեղծում, bug reporting, API թեստավորում և թեստավորման պլանավորում։ Աշխատել եմ ինչպես ինքնուրույն, այնպես էլ թիմի կազմում տարբեր նախագծերի վրա, հասնելով գրեթե ամբողջական թեստերի ավտոմատացմանը։
Հմտություններ
Ծրագրավորման լեզուները
Java
✓ Core
✓ Collections & Generics
✓ Exception handling & I/O
✓ Strings, Arrays, Lists, Maps
✓ Unit tests with TestNG
✓ Maven build tools
✓ Test architecture (POM)
✓ Debugging
Python
✓ Core & OOP
✓ Data structures
✓ Exception handling & file I/O
✓ Pytest & unittest
✓ Test architecture (POM)
✓ Debugging
JavaScript
✓ Core & OOP
✓ DOM manipulation & selectors
✓ Asynchronous JS
✓ Test architecture (POM)
✓ Debugging & browser devtools
Գոծիքներ և Գրադարաններ
Playwright
✓ Core & async handling
✓ Locators & selectors
✓ Test runner & fixtures
✓ Cross-browser testing
✓ Parallel & headless execution
✓ Page Object Model (POM) design
✓ Debugging & tracing tools
✓ TypeScript
✓ Test retries & timeout handling
Selenium
✓ WebDriver
✓ Locators
✓ Waits & synchronization
✓ Handling alerts, frames, windows
✓ Page Object Model & Page Factory
✓ TestNG integration
✓ Script optimization
Postman
✓ API request building
✓ Environment & variable management
✓ Writing tests with JavaScript
✓ Pre-request scripts
✓ Automated test collections
✓ Response validation & assertions
✓ Collections & Workspaces
Version Control
GitHub
✓ Version control basics
✓ Branching & merging strategies
✓ Pull requests & code reviews
✓ Resolving merge conflicts
✓ GitHub Actions for CI/CD
✓ Managing repositories
✓ Collaborating with teams
QA & Testing
Design Techniques
✓ Boundary Value Analysis
✓ Equivalence Partitioning
✓ Decision Table Testing
✓ Use Case Testing
Types
✓ Functional Testing
✓ Regression Testing
✓ Smoke & Sanity Testing
✓ Integration Testing
✓ Exploratory Testing
Management & Process
✓ Test Planning & Estimation
✓ Test Case Management
✓ Defect Tracking & Reporting
✓ Continuous Integration (CI)
✓ Agile & Scrum basics
Automation Concepts
✓ Page Object Model (POM)
✓ Test Framework Design
✓ CI/CD Integration
✓ API testing
✓ UI testing
Design Techniques
✓ Boundary Value Analysis
✓ Equivalence Partitioning
✓ Decision Table Testing
✓ Use Case Testing
Types
✓ Functional Testing
✓ Regression Testing
✓ Smoke & Sanity Testing
✓ Integration Testing
✓ Exploratory Testing
Management & Process
✓ Test Planning & Estimation
✓ Test Case Management
✓ Defect Tracking & Reporting
✓ Continuous Integration (CI)
✓ Agile & Scrum basics
Automation Concepts
✓ Page Object Model (POM)
✓ Test Framework Design
✓ CI/CD Integration
✓ API testing
✓ UI testing
Պորտֆոլիո
Swag Labs
2023 Դեկտեմբեր, 2025 ՀունիսԱվտոմատացված թեստավորում - UI
Նախագծի մասին
Swag Labs էլեկտրոնային առևտրի կայքի ավտոմատացված թեստավորում Java և Selenium-ով, ինչպես նաև TypeScript և Playwright-ով։ Իրականացվել է մուտք, ապրանքի ընտրություն, զամբյուղ և վճարման հոսքերի թեստավորում՝ օգտագործելով Page Object Model (POM)։ Թեստ-քեյսերը կառուցվածքային, վերօգտագործելի և ինտեգրված են Maven-ի հետ։
Save All
2024 ՀոկտեմբերՄանուալ թեսթավորում - UI
Օգտագործված գործիքներ
Google Documents, Google Sheets, Chrome DevTools
Պատասխանատվություններ
- Մշակել հստակ և համակարգված թեստային փաստաթղթեր։
- Ստեղծել ամբողջական և պարզ թեստային դեպքեր՝ ներառելով UI, functional և usability սցենարները։
- Կատարել 150+ թեստային դեպքեր և փաստաթղթավորել բոլոր արդյունքները։
- Գրել հաշվետվություն հայտնաբերված դեֆեկտների մասին՝ մանրամասն վերարտադրության քայլերով, severity-ով և շրջակա միջավայրի մանրամասներով։
Արդյունքներ
- Հասել եմ 16% չհաջողված Case-երի հայտնաբերմանը, հիմնական օգտագործման դրույթների համար։
- Բացահայտել եմ կարևոր և մեծ թերություններ՝ բարելավելով կայքի կայունությունը։
- Ապահովել ամբողջական թեսթային վերահսկողություն բոլոր հիմնական e-commerce ֆունկցիոնալների համար։
Նախագծի մասին
Save All demo e-commerce կայքի Manual թեսթավորում։ Ստեղծվել են պահանջների վրա հիմնված համալիր test cases՝ ընդգրկելով functional, UI և usability պահանջները։ Կատարել եմ հաշվետվություն արված դեֆեկտների մասին՝ հստակ վերարտադրության քայլերով և severity-ի գնահատմամբ։
Skills Demonstrated
Մանուալ UI թեսթավորում, Test Case Design, Bug Reporting, Regression Testing, Պահանջների վերլուծություն, Թեսթային փաստաթղթերի պատրաստում, Կրիտիկական մտածողություն։
Your Store
2025 ՄայիսԱվտոմատացված թեստավորում - UI
Կոդ՝
Նախագծի մասին
Your Store էլեկտրոնային առևտրի կայքի ավտոմատացված թեստավորում TypeScript և Playwright-ով։ Իրականացվել է գրանցում, ապրանքի ընտրություն, զամբյուղ, վճարում, մենյու, որոնում և սլայդերի թեստավորում՝ օգտագործելով Page Object Model (POM)։ Թեստ-քեյսերը կառուցվածքային և վերօգտագործելի են։
Reqres
2025 ԱպրիլԱվտոմատացված թեստավորում - API
Կոդ՝
Նախագծի մասին
Այս նախագիծը նախատեսված է Reqres API-ի ավտոմատացված թեստավորման համար՝ օգտագործելով JavaScript և Playwright։ Ներառում է API վերջնակետերի վավերացում, տվյալների ամբողջականության ստուգում և պատասխանների կառուցվածքի ստուգում։ Կառուցված է Node.js-ով և օգտագործում է Playwright-ի հզոր թեստավորման շրջանակը։
Personal CV Website
2025 ՀունիսՎեբ ծրագրավորում
Նախագծի մասին
Այս CV կայքի նախագծումը և մշակումը՝ օգտագործելով HTML, CSS և JavaScript։ Ներառում է հմտությունների, փորձի, պորտֆոլիոյի բաժիններ և ինտերակտիվ վկայականների նախադիտում։ Այս կայքը ցուցադրում է frontend հմտություններ և կառուցվածքային UI դասավորություն։
Swag Labs - Test Case Example
| ID | Title | Preconditions | Steps | Expected Result |
|---|---|---|---|---|
| TC001 | Login with valid credentials | User is on the login page | 1.Open site 2.Enter credentials 3.Click login |
User is logged in and redirected to dashboard |
Swag Labs - Automation Script Example
@Test
public void loginWithValidCredentials() {
loginPage.enterUsername("standard_user");
loginPage.enterPassword("secret_sauce");
loginPage.clickLogin();
Assert.assertTrue(homePage.isHeaderVisible());
}
Swag Labs - Automation Script Example
test('Checkout without authorization', async ({ page }) => {
await cart.open();
let errorMsg = await loginPage.getErrorMessage();
expect (errorMsg).toContain(`Epic sadface: You can only access
'${cart.endpoint}' when you are logged in`);
await checkout.open();
errorMsg = await loginPage.getErrorMessage();
expect (errorMsg).toContain(`Epic sadface: You can only access
'${checkout.endpoint}' when you are logged in`);
});
SaveAll — Test Case: Date Filter (Invalid Date)
| ID | Project | Component | Date | Tester |
|---|---|---|---|---|
| TC-CLI-013 | saveall.ru/clients | Clients | 10/19/2024 | Melikyan S. M. |
| Title | Description | Preconditions |
|---|---|---|
| Date Filter Functionality — Non‑existent Date | Verify that entering a non‑existent date does not trigger filtering. | User is logged in and is in the "Clients" section. |
| No. | Steps | Expected Result |
|---|---|---|
| 1 | Click the filter button on the "Created" column. | A calendar opens to select the date range. |
| 2 | Enter "2352622" into the first field. | Date entered. |
| 3 | Enter "986556" into the second field. | Date entered. |
| 4 | Press the "Enter" key. | The page reloads; no filtering occurred. |
SaveAll — Bug Report: Profile Image Is Not Saved
| Bug ID | Project | Component | Date | Tester |
|---|---|---|---|---|
| Account 001 | saveall.ru/profile | My Account | 10/25/2024 | Melikyan S. M. |
| Title | Problem | Environment |
|---|---|---|
| Profile image is not saved | After uploading an image and confirming the crop, the image does not appear anywhere on the profile page. The uploaded file is not saved and disappears after page reload. |
OS: Windows 10 Browser: Google Chrome 129.0.6668.90 |
| Bug Overview | Attachments |
|---|---|
| After adding an image and confirming the crop step, the file is not displayed on the “My Account” page. The issue is consistently reproducible. | Video Evidence |
| No. | Steps | Expected Result | Actual Result |
|---|---|---|---|
| 1 | The user is logged in and on the "My Account" page. | The image should be saved and properly displayed on the "My Account" page. | The image does not appear on the page; the upload is not saved. |
| 2 | Click the "Browse" button. | ||
| 3 | Select an image in the file explorer and click "Open". | ||
| 4 | Click the "Crop" button. |
| Severity | Priority | Assigned To | Notes |
|---|---|---|---|
| Medium | Medium | — | — |
Your Store - Automation Script Example
test.describe('User Registration ', () => {
test.beforeEach(async ({ page }, testInfo) => {
if (testInfo.title !== 'Register with valid data')
await page.goto('?route=account/register');
});
test.describe('Invalid email format', () => {
const invalidEmails = [
'', // Empty string
'plainaddress',
'@missingusername.com',
'username@.com',
'username@domain..com',
'username@domain,com',
'username@domain.c',
]
for (let email of invalidEmails){
test(`should show error using email: ${email}`, async ({ page }) => {
const url = await page.url();
await fillForm(page, 'Lena', 'Joy', email, generatePhone(), password);
await page.getByRole('checkbox').check();
await page.getByRole('button', { name: 'Continue' }).click();
await expect(page.url()).toBe(url);
await expect(page.getByRole('heading', { name: 'Your Account Has Been Created!' })).not.toBeVisible();
});
}
});
});
Reqres - API Automation Script Example
test.describe('Create a user (POST)', () => {
test('Create a new user', async ({request}) => {
const response = await request.post('/api/users', {
data:{
name: "Morpheus",
job: "leader"
}
});
const data = await response.json();
expect(response.ok()).toBeTruthy();
expect(response.status()).toBe(201);
expect(data.name).toBe("Morpheus");
expect(data.job).toBe("leader");
expect(data).toHaveProperty('createdAt');
expect(data).toHaveProperty('id');
// Clean up the fixture.
const id = data.id;
const deleteResponse = await request.delete(`/api/users/${id}`, {});
if(deleteResponse.ok())
console.log(`User with ID ${data.id} deleted successfully`);
else
console.log(`Failed to delete User with ID ${data.id}`);
});
});
Reqres - API Automation Script Example
test('Successful post creation with valid data', async ({ request }) => {
const newPost = {
title: 'Valid Title',
body: 'This is a valid post body.',
type: 1
};
const response = await request.post('/posts', { data: newPost });
expect(response.status()).toBe(201);
const data = await response.json();
expect(data).toHaveProperty('id');
expect(data).toMatchObject(newPost);
});
Reqres - API Automation Script Example
def test_get_api_key_for_invalid_email(pf):
"""Test case to verify that an invalid email results in a 403 status code
and the API key is not returned by the server.
Args:
email (str): Invalid email address.
password (str): Valid password.
Asserts:
- The response status code is 403.
- The response does not contain an API key."""
status, result = pf.get_api_key(invalid_email, valid_password)
assert status == 403
assert not 'key' in result
Reqres - API Automation Script Example
def test_auth_page_is_available(self, web_browser):
"""Test if the authentication page is available
and the title is correct."""
auth_page = AuthPage(web_browser)
text = auth_page.title.get_text()
assert text == "Авторизация", "Wrong page title"
Կրթություն
2025 Փետրվար 11 - 2025 Հունիս 4
Mastering QA Automation with Playwright
Armenian-Indian IT Center
✓ JavaScript & TypeScript
✓ API թեստավորում
✓ UI թեստավորում
✓ Playwright շրջանակ
2024 Հունիս 13 - 2025 Մարտ 13
Python Automation Testing
Skill Factory
✓ Մանուալ թեստավորում
✓ Թեստային փաստաթղթեր
✓ SQL հիմունքներ
✓ Ալգորիթմներ
✓ Python & OOP
✓ Selenium շրջանակ
✓ API թեստավորում
✓ UI թեստավորում
2022 Մարտ 1 - 2022 Օգոստոս 31
QA Ավտոմատացում Java և Selenium-ով
Gyumri IT Center
✓ Java և OOP
✓ Թեստավորման հիմունքներ
✓ Selenium շրջանակ
✓ UI թեստավորում
✓ API թեստավորում
2021 Հոկտեմբեր 10 - 2021 Դեկտեմբեր 10
JavaScript | HTML | CSS
Microsoft IT Center
✓ JavaScript
✓ HTML
✓ CSS
Փորձ
QA Ավտոմատացման նախագծեր
Ինքնուրույն և դասընթացային նախագծեր — 2022 – ներկա
- Ավտոմատացված թեստերի ստեղծում և իրականացում Selenium (Java, Python) և Playwright (TypeScript)-ով։
- Page Object Model կառուցվածքների ստեղծում և սպասարկում մասշտաբային թեստավորման համար։
- Դրական և բացասական UI և API թեստ-քեյսերի գրառում Postman, TestNG և Pytest-ով։
- GitHub-ի օգտագործում վերսիա կառավարման և թիմային աշխատանքի համար։
Մանուալ թեստավորման պրակտիկա
Սխալների հաշվետվություն (Bug Report) և թեստային փաստաթղթեր
- Պարզ և կառուցվածքային սխալների հաշվետվությունների ստեղծում՝ վերարտադրելի քայլերով։
- Թեստ-քեյսերի, չեկլիստերի և թեստ պլանների մշակում՝ ըստ պահանջների։
- Վեբ հավելվածների թեստավորում՝ ֆունկցիոնալ, UI և cross-browser խնդիրների համար։
Անձնական վեբ ծրագրավորման նախագծեր
Frontend ծրագրավորում
- Այս անձնական CV կայքի ստեղծում HTML, CSS, JavaScript-ով՝ հմտությունները ցուցադրելու համար։
- Պատասխանատու դասավորությունների և ինտերակտիվ տարրերի ստեղծում՝ հարմարավետ և պարզ օգտագործման համար