1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Automation Tester (Báo Cáo Thực Tập).Docx

34 5 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINKHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO THỰC TẬP

Automation tester

Công ty thực tập:Công ty TNHH GiảiPháp Phần MềmTường Minh

Trang 2

TP Hồ Chí Minh, tháng 1 năm 2024

LỜI MỞ ĐẦU

Trong cuộc cách mạng công nghiệp 4.0, công nghệ thông tin nóichung và ngành Công nghệ phần mềm nói riêng luôn là nhân tốđóng vai trò quan trọng trong quá trình phát triển của xã hội.

Công việc Testing cũng phát triển để phục vụ cho nhu cầu kiểm trachất lượng các sản phẩm phần mềm nhằm đảm bảo đầu ra chongười dùng Hiện nay đã có rất nhiều các framework hỗ trợ cho việcautomation test được thuận tiện và linh hoạt hơn.

Để thử thách bản thân trong ngành automation test, em đã lựa chọncông việc này là định hướng cho việc học cũng như nghề nghiệptrong tương lai.

Sau những năm tháng trong môi trường đại học, với mong muốn ápdụng những kiến thức đã học và có được trải nghiệm trong môitrường thực tế, em đã quyết định tham gia vào công ty TNHH giảipháp công nghệ phần mềm Tường Minh – một môi trường lý tưởngvà chuyên nghiệp để thực hiện dự định.

Trang 3

LỜI CẢM ƠN

Em xin trân trọng gửi lời cảm ơn thầy Huỳnh Tuấn Anh đã tạo điềukiện cho em cơ hội được thực tập tại công ty Dù trong thời gianngắn nhưng nhờ sự chỉ dẫn nhiệt tình của anh Trương Thành Ý, emđã tiếp thu những kiến thức quan trọng để có thể tham gia một dựán thực tế

Chân thành cảm ơn anh và mọi người trong team automation test đãbỏ ra nhiều thời gian, công sức để hướng dẫn, hướng dẫn, giúp đỡem tận tình trong khi làm quen môi trường mới cũng như trong việctiếp cận kiến thức công nghệ, kỹ năng lập trình và tư duy sản phẩmđể có thể thực hiện tốt dự án thực tế trong thời gian qua

Em cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đãnhiệt tình hỗ trợ, tạo điều kiện em làm báo cáo này

TP HCM, ngày 4 tháng 1năm 2024

[…]

Trang 5

LỜI CẢM ƠN 3

NHẬN XÉT CỦA KHOA 4

MỤC LỤC 5

CHƯƠNG 1 – GIỚI THIỆU VỀ CÔNG TY THỰC TẬP 6

1.1 Giới thiệu về công ty Công ty TNHH Giải pháp Phần mềm Tường Minh 6

1.2 Các sản phẩm của công ty 9

1.3 Lịch làm việc khi thực tập tại công ty 10

CHƯƠNG 2 – NỘI DUNG THỰC TẬP 11

2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 11

2.2 Nghiên cứu kỹ thuật 11

2.2.1 Ngôn ngữ và các công cụ 11

2.2.2 Các kỹ thuật học được 12

2.3 Demo test chức năng Login của một trang web 27

2.3.1 Kết quả sau khi chạy test các script trên thu được kết quả tương đương 29

CHƯƠNG 3 – NỘI DUNG THỰC TẬP 31

3.1 Điểm mạnh 31

3.2 Điểm yếu 31

3.3 Chuẩn đạt được 31

Trang 6

TÀI LIỆU THAM KHẢO 32

Trang 7

CHƯƠNG 1 – GIỚI THIỆU VỀ CÔNG TY THỰC TẬP

1.1 Giới thiệu về công ty Công ty TNHH Giải pháp Phần mềm Tường Minh

Được thành lập năm 1997, Công ty TNHH Giải pháp Phần mềmTường Minh (tên viết tắt: TMA Solutions) là một trong những công typhần mềm hàng đầu tại Việt Nam với hơn 4000 kỹ sư Công ty TNHHGiải pháp Phần mềm Tường Minh có 6 văn phòng tại TP.HCM, Côngviên Sáng tạo TMA tại Bình Định và 6 văn phòng tại nước ngoài(Canada, Mỹ, Đức, Úc, Nhật Bản và Singapore)

Với sự phát triển vững mạnh trong 25 năm qua, Công ty TNHHGiải pháp Phần mềm Tường Minh tự hào nhận được sự tin tưởng củakhách hàng là những tập đoàn lớn đến từ 30 quốc gia trên thế giới.Trong nhiều năm liền, công ty đã vinh dự được bình chọn trong topdoanh nghiệp CNTT tại Việt Nam, liên tục được vinh danh trong top10 doanh nghiệp xuất khẩu phần mềm, Top 10 doanh nghiệpFintech, Top 10 doanh nghiệp AI – IoT,…

Đặt yếu tố con người lên hàng đầu, Công ty TNHH Giải phápPhần mềm Tường Minh với môi trường làm việc chuyên nghiệp vàthân thiện, luôn nỗ lực tạo ra đời sống văn hóa phong phú, sôi động,để nhân viên luôn cảm thấy thoải mái, xem công ty không chỉ là nơilàm việc, mà còn là nơi có các hoạt động vui chơi, giải trí đầy thú vị,hấp dẫn.

Trang 8

Hình 1.1 Lịch sử hình thành của Công ty TNHH Giải pháp Phần mềmTường Minh

Trang 9

Hình 1.2 Văn phòng làm việc tại công ty

Hình 1.3 Phòng Lab

Các chi nhánh tại Thành phố Hồ Chính Minh:

 Trụ sở (Lab 1): 111 Nguyễn Ðình Chính, Phường 15, QuậnPhú Nhuận

 Chi nhánh 3 (Lab 3): 10 Đặng Văn Ngữ, Phường 10, QuậnPhú Nhuận

 Chi nhánh 4 (Lab 4): 84A/5 Trần Hữu Trang, Phường 10,Quận Phú Nhuận

Trang 10

 Chi nhánh 5 (Lab 5): Tòa nhà Anna, Công viên phần mềmQuang Trung, P Tân Chánh Hiệp, Quận 12

 Chi nhánh 6 (Lab 6): Tòa nhà TMA, Công viên phần mềmQuang Trung, P Tân Chánh Hiệp, Quận 12

Chi nhánh tại tỉnh Bình Định:

 Công viên Sáng tạo TMA: Đại lộ Khoa học, Thung lũngSáng tạo Quy Nhơn, P Ghềnh Ráng, TP Quy Nhơn, BìnhÐịnh

Số điện thoại liên hệ: (84-28) 3995 1060Fax: (84-28) 3990 3303

Trang 11

1.3 Lịch làm việc khi thực tập tại công tyThời gian : Thứ 3, Thứ 5, Thứ 6

Từ 8g30 đến 18g

Thời gian thực tập : 28/8/2023 – 17/11/2023

Trang 12

CHƯƠNG 2 – NỘI DUNG THỰC TẬP

2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công tyTMA là công ty chuyên về Out-source và có nhiều khách hàng từ nước ngoài Những kỹ năng cơ bản của công ty là:

- Bảo mật đối với sản phẩm của công ty- Kỹ năng viết email

- Kỹ năng giao tiếp trong công việc- Kỹ năng làm việc nhóm

Đặc điểm:

- Dễ đọc dễ hiểu dễ nhớ

Trang 13

- Cấu trúc rõ ràng, thuận tiện cho người mới học- Hỗ trợ nhiều nền tảng khác nhau

- Tối ưu hóa cho việc code

- Hỗ trợ lập trình hướng đối tượng

GitLab là một nền tảng quản lý mã nguồn và dự án phần mềm dựa trên web Nó cung cấp các tính năng như quản lý mã nguồn, theo dõi vấn đề, CI / CD và nhiều tính năng khác để hỗ trợ quản lý dự án phần mềm.

Đặc điểm:

- Open core

- Truy cập mã nguồn- Lắng nghe cộng đồng- Giải pháp lâu bền

2.2.2 Các kỹ thuật học được 2.2.2.1 Robot Framework là gì?

Robot Framework là test framework mã nguồn mở được dùngđể kiểm thử tự động và RPA Hướng tiếp cận của Robot Frameworklà hướng từ khóa (keyword driven) và hướng dữ liệu (data driven),chính vì vậy Robot Framework rất dễ sử dụng cũng như viết testscript và có thể chạy được trên mọi nền tảng khác nhau mà khôngcần chỉnh sửa test script Robot Framework có thể được sử dụngtrong các môi trường phân tán, không đồng nhất, nơi yêu cầu sửdụng các công nghệ và giao diện khác nhau.

Trang 14

Những ưu điểm của Robot Framework

Các đặc điểm nổi trội của Robot Framework:

 Cho phép cú pháp dạng bảng dễ sử dụng để tạo cáctrường hợp thử nghiệm một cách thống nhất

 Cung cấp khả năng tạo các từ khóa cấp cao hơn có thể sửdụng lại từ các từ khóa hiện tại

 Cung cấp nhật ký và báo cáo kết quả dễ đọc ở định dạngHTML

 Nền tảng và ứng dụng độc lập

 Cung cấp một API thư viện đơn giản để tạo các thư việnthử nghiệm tùy chỉnh có thể được triển khai nguyên bảnbằng Python hoặc Java

 Cung cấp giao diện dòng lệnh và các tệp đầu ra dựa trênXML để tích hợp vào cơ sở hạ tầng xây dựng hiện có (hệthống tích hợp liên tục)

 Cung cấp hỗ trợ cho Selenium để kiểm tra web, kiểm traJava GUI, các quy trình đang chạy, Telnet, SSH,…

 Hỗ trợ tạo các trường hợp thử nghiệm theo hướng dữ liệu. Có hỗ trợ tích hợp cho các biến, thực tế đặc biệt để thử

nghiệm trong các môi trường khác nhau

 Cung cấp tính năng gắn thẻ để phân loại và chọn cáctrường hợp thử nghiệm sẽ được thực thi

 Cho phép tích hợp dễ dàng với kiểm soát nguồn: bộ thửnghiệm chỉ là các tệp và thư mục có thể được tạo phiênbản với mã sản xuất

 Cung cấp thiết lập và chia nhỏ cấp độ case và suite

test- Kiến trúc mô-đun hỗ trợ tạo các bài test ngay cả đối vớicác ứng dụng có nhiều giao diện đa dạng.

Các thư viện được hỗ trợ trong Robot Framework

Các thư viện tiêu chuẩn

1 Builtin: Thư viện cơ bản nhất của Robot Framework, cungcấp các từ khóa cơ bản thường được sử dùng nhiều khiviết test script Thư viện Builtin luôn tự động có sẵn màkhông cần phải import.

Trang 15

2 Collections: Dùng để xử lý kiểu dữ liệu list và dictionariescủa Python.

3 DateTime: Dùng để xử lý dữ liệu ngày giờ.

4 Dialogs: Cung cấp các từ khóa để tạm dừng thực thi vànhận thông tin đầu vào từ người dùng.

5 OperatingSystem: Dùng để tương tác với hệ điều hànhmà framework đang chạy.

6 Process: Dùng để tương tác với các tiến trình đang chạytrong hệ thống.

7 Remote: Hoạt động như một proxy giữa Robot Frameworkvà các thư viện khác Các thư viện thực tế có thể chạytrên nhiều máy tính khác nhau và được triển khai bằngbất kỳ ngôn ngữ lập trình nào có hỗ trợ giao thức XML-RPC.

8 Sceenshot: Dùng để chụp màn hình, rất hữu ích cho việcdebug.

9 String: Dùng để tạo, xử lý và xác minh kiểu dữ liệu string.10 Telnet: Dùng để kết nối với các máy chủ Telnet lại

với nhau để thực thi các lệnh trên các kết nối đã mở 11 XML: Dùng để tạo và tương tác với các tệp XML.

3 HTTP RequestsLibrary (Python): Dùng cho kiểm tra HTTPlevel bằng cách sử dụng Python Requests trong nội bộ.4 Browser Library: Dùng cho việc kiểm thử tự động các

trang web do Playwright cung cấp

5 AppiumLibrary: Dùng cho kiểm thử tự động trên môitrường Android và iOS.

6 RESTinstance: Dùng cho kiểm thử tự động API HTTP JSON.7 SSHLibrary: Dùng để thực thi các lệnh trên các kết nối

SSH Thư viện này cũng hỗ trợ truyền tệp bằng SFTP.8 Uiautomator2: Dùng cho kiểm thử tự động trên thiết bị

android.

Trang 16

Cách cài đặt Robot Framework trên máy tính WindowsCài đặt Python

Để cài đặt Python lên máy tính, chúng ta truy cập vào trangchủ của Python (www.python.org/downloads/) và tải xuống phiênbản phù hợp với phiên bản Windows của bạn.

Hình 2.1 Trang chủ để tải file cài đặt Python

Sau khi tải xuống, tiến hành cài đặt Python lên máy tính Sau

khi cài đặt xong, mở cmd và gõ lệnh python version để kiểm tra

xem Python đã được cài đặt thành công hay không.

Hình 2.2 Python đã được cài đặt thành công

Cài đặt Robot Framework

Sau khi cài thành công Python, mở cmd và gõ lệnh pip installrobotframework để cài đặt Robot Framework

Trang 17

Hình 2.3 Cài đặt Robot Framework

Kiểm tra cài đặt bằng lệnh robot –version.

Hình 2.4 Kiểm tra cài đặt Robot Framework

Cài đặt các thư viện mở rộng hỗ trợ Robot Framework

Robot Framework có rất nhiều thư viện hỗ trợ Các thư việnhầu hết được cũng cấp trên pip và bạn chỉ cần gõ lệnh để cài.

Ví dụ nếu ta muốn cài thư viện Selenium2Library thì chỉ cần gõ

trên cmd câu lệnh pip install robotframework-selenium2library.

Hình 2.5 Các thư viện mở rộng phổ biến của Robot FrameworkCài đặt Robot Framework Language Server để sử dụng Robot Framework trên phần mềm VSCode

Trang 18

Để thuận tiện sử dụng Robot Framework, chúng ta nên sử dụngIDE VSCode cùng extensions Robot Framework Language Server.

Hình 2.6 Robot Framework Language Server trong VSCodeCấu trúc của một file Robot Framework

Thành phần cơ bản của một file Robot Framework sẽ gồm 3

phần chính: Settings, Test Cases và Keywords.

Phần Settings sẽ định nghĩa các thành thiết lập khởi đầu chokịch bản, như là mô tả xem nó sẽ làm gì, dùng thư viện nào Gồmcác thành phần chính sau:

 Documentation: Mô tả khái quát về nội dung của testcase

 Suite Setup/Teardown: Gọi đến các Keywords để khi bắtđầu/kết thúc chạy test

 Resource: Import các file khác để tái sử dụng lại cácKeywords

 Library: Import các thư viện hỗ trợ test.

Trang 19

Hình 2.7 Phần Settings của một file Robot Framework

Test Cases

Phần Test Cases là phần chính bao gồm các trường hợp cầntest, trong phần này ta chỉ cần gọi các Keywords để chúng chạy vàkiểm tra xem Output có đúng với Expected không Các test caseđược viết dưới dạng lời nên rất dễ hiểu Dưới đây là một vài ví dụ vềcách viết test case trong Robot Framework:

Hình 2.8 Test case được viết theo kiểu Normal Syntax

Trang 20

Hình 2.9 Test case được viết theo kiểu Gherkin Syntax

Hình 2.10 Test case được viết theo kiểu Data-driven Syntax

Keywords

Keywords là các step từ chuẩn bị cho đến việc kiểm tra kếtquả, trong Keywords chúng ta cũng gọi đến những Keywords khácđể thực hiện các xử lý

Bản thân các Keywords có thể nhận các đối số để sử dụngtrong các trường hợp tương tự nhau, ví dụ như nhập Input Text,Submit Form,… Ngoài ra các keywords hoàn toàn có thể định nghĩatự do bằng bất cứ ngôn ngữ nào, chỉ cần phần Test Cases gọi đúngtên của Keywords là được.

Hình 2.11 Phần Keywords của một file Robot Framework

Trang 21

Các thành phần khác

Variables trong Robot Framework sẽ tích hợp biến vào giúp

việc viết code cũng như maintain test dễ dàng hơn nhiều, thích hợpnhất cho Data-driven Test.

Hình 2.12 Variables trong Robot Framework

Tags trong Robot Framework sẽ giúp cho việc quản lý chạy

test hiệu quả hơn, cụ thể hơn và tránh lặp lại toàn bộ quy trình khita cần test một chức năng cụ thể.

Trang 22

Hình 2.13 Tags trong Robot Framework

2.2.2.2 Thư viện Selenium trong Robot Framework

Selenium là một thư viện dùng test web phổ biến nhất hiệnnay cho các tester Tại Robot Framework, chúng ta cóSeleniumLibrary là thư viện Selenium dùng trên Robot Framework.Thư viện này được lưu trữ trên GitHub và có thể tìm thấy các bản tảixuống từ PyPI SeleniumLibrary hoạt động với Selenium 3 và 4 Nóhỗ trợ Python 3.6 trở lên Ngoài trình thông dịch Python thôngthường, nó cũng hoạt động với PyPy

Để cài đặt thư viện SeleniumLibrary trên Robot Framewrok,

chúng ta mở cmd lên và gõ lệnh pip install seleniumlibrary Ngoài ra bạn cũng cần phải cài đặt webdriver dựa

robotframework-trên phiên bản trình duyệt bạn đang sử dụng để chạy thư việnSeleniumLibrary trên Robot Framework.

Trang 23

Hình 4.1.1 Cài đặt framework trên cmd

Hình 4.1.2 Cài đặt Microsoft edge Webdriver

Viết các Automation Test Case trên Robot Framework bằng Robot Framework Tương tác với các phần tử trên một trang web

Tìm kiếm các phần tử trên một trang web:

Trang 24

Suite Teardown      Close Browser

*** Variables ***

${URL}      https://demo.guru99.com/test/ajax.html

*** Test Cases ***

Click "Yes" button

    Click Element    id:yes

    Click Element    id:buttoncheck

    Page Should Contain    Radio button is checked and it's value is Yes

Click "No" button

    Click Element    id:no

    Click Element    id:buttoncheck

    Page Should Contain    Radio button is checked and it's value is Yes

Click "Reset" button    Click Element    id:yes

    Click Element    //input[@value = 'Reset']

    Click Element    id:buttoncheck

    Page Should Contain    Radio button is Not checked

*** Keywords ***

Open URL

    Open Browser    ${URL}    edge

Tương tác với Radio Button và Checkbox:

Trang 25

Radio button select

    Select Radio Button    webform    Option 1

    Radio Button Should Be Set To    webform    Option 1

    Select Radio Button    webform    Option 2

    Radio Button Should Be Set To    webform    Option 2

    Select Radio Button    webform    Option 3

    Radio Button Should Be Set To    webform    Option 3

CheckBox select

    # Checkbox1

    Select Checkbox    id:vfb-6-0

    Checkbox Should Be Selected    id:vfb-6-0

    # Checkbox2

Trang 26

    Select Checkbox    id:vfb-6-1

    Checkbox Should Be Selected    id:vfb-6-1

    # Checkbox2

    Select Checkbox    id:vfb-6-2

    Checkbox Should Be Selected    id:vfb-6-2

*** Keywords ***

Open URL

    Open Browser    ${URL}    edge

Tương tác với hình ảnh trên trang web:

Input Text    id:user-name    standard_user

    Input Text    id:password    secret_sauce

    Click Button    id:login-button

Trang 27

    Title Should Be    Swag Labs

    Click Image    Sauce Labs Bike Light

    Page Should Contain    Back to products

    Page Should Contain    Sauce Labs Bike Light

*** Keywords ***

Open URL

    Open Browser    ${URL}    edge

Tải file, upload file trên trang web

Tải file từ trang web:

https://www.browserstack.com/test-on-the-right-mobile-*** Test Cases https://www.browserstack.com/test-on-the-right-mobile-***

Download a File

    Click Button    id:accept-cookie-notification

    Click Element    class:icon-csv

Ngày đăng: 15/05/2024, 09:06

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Lịch sử hình thành của Công ty TNHH Giải pháp Phần mềm Tường Minh - Automation Tester (Báo Cáo Thực Tập).Docx
Hình 1.1 Lịch sử hình thành của Công ty TNHH Giải pháp Phần mềm Tường Minh (Trang 8)
Hình 1.2 Văn phòng làm việc tại công ty - Automation Tester (Báo Cáo Thực Tập).Docx
Hình 1.2 Văn phòng làm việc tại công ty (Trang 9)
Hình 1.3 Phòng Lab - Automation Tester (Báo Cáo Thực Tập).Docx
Hình 1.3 Phòng Lab (Trang 9)
Hình 1.4 Trụ sở Lab 6 tại Công viên phần mềm Quang Trung, Quận 12 - Automation Tester (Báo Cáo Thực Tập).Docx
Hình 1.4 Trụ sở Lab 6 tại Công viên phần mềm Quang Trung, Quận 12 (Trang 10)
Hình 2.1 Trang chủ để tải file cài đặt Python - Automation Tester (Báo Cáo Thực Tập).Docx
Hình 2.1 Trang chủ để tải file cài đặt Python (Trang 16)
Hình 2.4 Kiểm tra cài đặt Robot Framework - Automation Tester (Báo Cáo Thực Tập).Docx
Hình 2.4 Kiểm tra cài đặt Robot Framework (Trang 17)
Hình 2.6 Robot Framework Language Server trong VSCode - Automation Tester (Báo Cáo Thực Tập).Docx
Hình 2.6 Robot Framework Language Server trong VSCode (Trang 18)
Hình 2.7 Phần Settings của một file Robot Framework - Automation Tester (Báo Cáo Thực Tập).Docx
Hình 2.7 Phần Settings của một file Robot Framework (Trang 19)
Hình 2.8 Test case được viết theo kiểu Normal Syntax - Automation Tester (Báo Cáo Thực Tập).Docx
Hình 2.8 Test case được viết theo kiểu Normal Syntax (Trang 19)
Hình 2.10 Test case được viết theo kiểu Data-driven Syntax - Automation Tester (Báo Cáo Thực Tập).Docx
Hình 2.10 Test case được viết theo kiểu Data-driven Syntax (Trang 20)
Hình 2.9 Test case được viết theo kiểu Gherkin Syntax - Automation Tester (Báo Cáo Thực Tập).Docx
Hình 2.9 Test case được viết theo kiểu Gherkin Syntax (Trang 20)
Hình 2.12 Variables trong Robot Framework - Automation Tester (Báo Cáo Thực Tập).Docx
Hình 2.12 Variables trong Robot Framework (Trang 21)
Hình 2.13 Tags trong Robot Framework - Automation Tester (Báo Cáo Thực Tập).Docx
Hình 2.13 Tags trong Robot Framework (Trang 22)
Hình 4.1.1. Cài đặt framework trên cmd - Automation Tester (Báo Cáo Thực Tập).Docx
Hình 4.1.1. Cài đặt framework trên cmd (Trang 23)
Hình 5.2 Log của test case Login - Automation Tester (Báo Cáo Thực Tập).Docx
Hình 5.2 Log của test case Login (Trang 32)
w