Իմ մասին
Ես QA Automation Engineer եմ՝ հմուտ թե՛ մանուալ, թե՛ ավտոմատացված թեստավորման մեջ։ Տիրապետում եմ հետևյալ ծրագրավորման լեզուներին՝ Java, JavaScript և Python, ինչպես նաև Ավտոմատացման գրադարաններին՝ Selenium և Playwright։ Ծրագրավորումն ու վեբ տեխնոլոգիաները սկսել եմ ուսումնասիրել 2021 թվականից։ Այդ ժամանակից ի վեր կառուցել եմ ամուր տեխնիկական բազա՝ անցնելով մասնագիտացված դասընթացներ, աշխատելով տարբեր նախագծերի վրա ինչպես նաև ինքնուրույն զարգանալով։
Մասնագիտացած եմ end-to-end ավտոմատացված թեստերի մշակման և պահպանման մեջ՝ օգտագործելով Page Object Model (POM) կառուցվածքը։ Իմ փորձը ներառում է նաև Test Case-երի ստեղծում, bug reporting, API թեստավորում և թեստավորման պլանավորում։ Աշխատել եմ ինչպես ինքնուրույն, այնպես էլ թիմի կազմում տարբեր նախագծերի վրա, հասնելով գրեթե ամբողջական թեստերի ավտոմատացմանը։
Ամեն նախագծի նկատմամբ մոտենում եմ մանրամասն ուշադրությամբ և նպատակասլացությամբ՝ կենտրոնանալով որակի, մասշտաբայնության և համագործակցության վրա։ Ներկայում փնտրում եմ հնարավորություն, որտեղ կարող եմ ներդրում ունենալ վստահելի և բարձր որակի ծրագրային ապահովման ստեղծման գործում՝ շարունակելով զարգանալ որպես QA մասնագետ։
Հմտություններ
Ծրագրավորման լեզուները
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-ի հետ։
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`);
});
                    
                    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-ով՝ հմտությունները ցուցադրելու համար։
 - Պատասխանատու դասավորությունների և ինտերակտիվ տարրերի ստեղծում՝ հարմարավետ և պարզ օգտագործման համար