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

Thông tin cơ bản

Tiêu đề Automation Tester
Tác giả Hồng Gia Hy
Người hướng dẫn Trương Thành Ý, Huỳnh Tuấn Anh
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Công nghệ phần mềm
Thể loại Báo cáo thực tập
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 34
Dung lượng 2,8 MB

Cấu trúc

  • CHƯƠNG 1 GIỚI THIỆU VỀ CÔNG TY THỰC TẬP (7)
    • 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 (7)
    • 1.2 Các sản phẩm của công ty (10)
    • 1.3 Lịch làm việc khi thực tập tại công ty (11)
  • CHƯƠNG 2 NỘI DUNG THỰC TẬP (12)
    • 2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty (12)
    • 2.2 Nghiên cứu kỹ thuật (12)
      • 2.2.1 Ngôn ngữ và các công cụ (12)
      • 2.2.2 Các kỹ thuật học được (13)
    • 2.3 Demo test chức năng Login của một trang web (29)
      • 2.3.1 Kết quả sau khi chạy test các script trên thu được kết quả tương đương (31)
  • CHƯƠNG 3 NỘI DUNG THỰC TẬP (33)
    • 3.1 Điểm mạnh (33)
    • 3.2 Điểm yếu (33)
    • 3.3 Chuẩn đạt được (33)

Nội dung

GIỚI THIỆU VỀ CÔNG TY THỰC TẬP

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ềm Tường Minh (tên viết tắt: TMA Solutions) là một trong những công ty phần mềm hàng đầu tại Việt Nam với hơn 4000 kỹ sư Công ty TNHH Giải pháp Phần mềm Tường Minh có 6 văn phòng tại TP.HCM, Công viê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 TNHH Giải pháp Phần mềm Tường Minh tự hào nhận được sự tin tưởng của khá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 top doanh nghiệp CNTT tại Việt Nam, liên tục được vinh danh trong top

10 doanh nghiệp xuất khẩu phần mềm, Top 10 doanh nghiệp Fintech, 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áp Phầ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ơi là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.

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

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

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ận Phú Nhuận

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

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

 Chi nhánh 5 (Lab 5): Tòa nhà Anna, Công viên phần mềm Quang 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ềm Quang 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ũng Sá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 1060

Email: sales@tma.com.vn

Hình 1.4 Trụ sở Lab 6 tại Công viên phần mềm Quang Trung, Quận

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

Thời gian : Thứ 3, Thứ 5, Thứ 6

NỘI DUNG THỰC TẬP

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

TMA 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 giao tiếp trong công việc

- Kỹ năng làm việc nhóm

Nghiên cứu kỹ thuật

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

- Làm quen với ngôn ngữ python và các công cụ làm việc nhóm:

Python là một ngôn ngữ lập trình bậc cao, mã nguồn mở và đa nền tảng Python được Guido van Rossum giới thiệu vào năm 1991 và đã trải qua 3 giai đoạn phát triển khác nhau tương ứng với các version, mới nhất hiện nay là Python version 3x. Đặc điểm:

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

- 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:

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

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 Framework là 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 test script và có thể chạy được trên mọi nền tảng khác nhau mà không cần chỉnh sửa test script Robot Framework có thể được sử dụng trong 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.

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ác trườ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ạng HTML

 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ện thử nghiệm tùy chỉnh có thể được triển khai nguyên bản bằ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ên XML để 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 tra Java 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ác trườ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ên bản với mã sản xuất

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

 Kiến trúc mô-đun hỗ trợ tạo các bài test ngay cả đối với cá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, cung cấp các từ khóa cơ bản thường được sử dùng nhiều khi viết test script Thư viện Builtin luôn tự động có sẵn mà không cần phải import.

2 Collections: Dùng để xử lý kiểu dữ liệu list và dictionaries củ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ành mà framework đang chạy.

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

7 Remote: Hoạt động như một proxy giữa Robot Framework và các thư viện khác Các thư viện thực tế có thể chạy trên nhiều máy tính khác nhau và được triển khai bằng bấ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ệc debug.

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.

Các thư viện mở rộng

1 SeleniumLibrary: Dùng cho kiểm thử tự động các trang web.

2 RPA framework: Tập hợp các thư viện và các mã nguồn mở phục vụ cho RPA, được thiết kế để sử dụng cho cả Robot Framework và Python

3 HTTP RequestsLibrary (Python): Dùng cho kiểm tra HTTP level 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ôi trườ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.

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

Cài đặt Python Để cài đặt Python lên máy tính, chúng ta truy cập vào trang chủ của Python (www.python.org/downloads/) và tải xuống phiên bả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

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

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ện hầ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 Để thuận tiện sử dụng Robot Framework, chúng ta nên sử dụng IDE VSCode cùng extensions Robot Framework Language Server.

Hình 2.6 Robot Framework Language Server trong VSCode

Cấ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 cho kịch bản, như là mô tả xem nó sẽ làm gì, dùng thư viện nào Gồm các thành phần chính sau:

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

 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ác Keywords

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

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

Phần Test Cases là phần chính bao gồm các trường hợp cần test, 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

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 là các step từ chuẩn bị cho đến việc kiểm tra kết quả, 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ụng trong 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ĩa tự do bằng bất cứ ngôn ngữ nào, chỉ cần phần Test Cases gọi đúng tên của Keywords là được.

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

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ợp nhấ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 khi ta cần test một chức năng cụ thể.

Hình 2.13 Tags trong Robot Framework

2.2.2.2 Thư viện Selenium trong Robot Framework

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

Các locator của test case:

# Login Page loginUsername = "id:user-name" loginPassword = "id:password" btnLogin = "id:login-button"

Các keyword của test case:

Title Should Be Swag Labs

Page Should Contain Sorry, this user has been locked out.

Test case chức năng Login của một trang web:

${URL} https://www.saucedemo.com/

${username-lock} locked_out_user

Open My Browser ${URL} ${Browser}

Open My Browser ${URL} ${Browser}

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

Hình 5.1 Report của test case Login

Hình 5.2 Log của test case Login

NỘI DUNG THỰC TẬP

Điểm mạnh

Thông qua quá trình thực tập tại công ty TMA Solutions, em đã được học tập và làm quen với môi trường và rèn luyện nhiều kỹ năng cũng như kiến thức mới:

- Học được kỹ năng giao tiếp trong công việc

- Làm việc nhóm và quan sát

- Hiểu thêm về quy trình Agile

- Tiếp thu được nhiều kinh nghiệm và kiến thức

- Rèn luyện kỹ năng viết email

Điểm yếu

- Cần thêm thời gian để có thể làm quen hoàn toàn với những công nghệ mới.

- Còn mắc những thiếu sót trong quá trình tạo test script

Chuẩn đạt được

Goal Mục tiêu môn học

G1 Nắm bắt được xu hướng, nhu cầu xã hội và tính đặc thù của doanh nghiệp

G2 Hiểu và giải thích được các khái niệm cơ bản, thuật ngữ và sơ đồ hệ thống trong dự án

G3 Nắm được quy trình, phương pháp và công nghệ phát triển sản phẩm phần mềm tại doanh nghiệp

G4 Có khả năng tìm hiểu vấn đề, mô hình hóa vấn đề và tham gia giải quyết vấn đề

G5 Phát triển kỹ năng tư duy, kỹ năng làm việc nhóm và kỹ năng trình bày

G6 Đọc, hiểu các tài liệu và giao tiếp bằng tiếng Anh

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