Tải bản đầy đủ (.pdf) (26 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.06 MB, 26 trang )

1

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

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

Automation Testing
Công ty thực tập

: Công ty Capgemini VN

Người phụ trách

: Mr. Trần Hoàng Long

Thực tập sinh

: Trần Thanh Lâm

TP. Hồ Chí Minh, tháng 06 năm 2022

Trần Hoàng Long

Trần Thanh Lâm


2

LỜI MỞ ĐẦU


Kiểm thử phần mềm có mặt tại Việt Nam cách đây chưa lâu, nhưng có thể nói trong thời
gian gần đây, cùng với sự phát triển của ngành CNTT, đặc biệt là lĩnh vực gia công và phát triển
phần mềm, Kiểm thử phần mềm đang dần thu hút sự quan tâm tìm hiểu của các bạn trẻ, đặc biệt
là các bạn nữ.
Tester hay còn gọi là chuyên viên kiểm thử phần mềm, cơng việc của Tester là tìm kiếm
các lỗi của hệ thống phần mềm hoặc thẩm định, xác minh xem hệ thống phần mềm có đáp ứng
các yêu cầu kỹ thuật và yêu cầu nghiệp vụ hay khơng. Cơng việc của Tester có thể chia ra 4
mức: Unit Test (Kiểm tra mức đơn vị), Integration Test (Kiểm tra tích hợp), System Test (Kiểm
tra mức hệ thống), Acceptance Test (Kiểm tra chấp nhận sản phẩm) và khâu Regression Test
(Kiểm tra hồi quy). Chính vì vậy kiểm thử phần mềm là khâu sống còn của sản phẩm trước khi
đưa vào sử dụng, Tester là vị trí khơng thể thiếu và công việc này quyết định khá nhiều vào sự
thành công của dự án.
Quan trọng là vậy, nhưng hiện nay số lượng các Tester tại Việt Nam vẫn chưa đáp ứng
được nhu cầu của thị trường, các dự án phần mềm trên thế giới, trung bình cứ 3 lập trình viên
thì có 1 kiểm thử phần mềm, nhưng hiện nay, tỉ lệ này ở Việt Nam đang là 5:1. Việt Nam được
dự báo sẽ trở thành một nước mạnh về CNTT, trong đó gia cơng phần mềm chiếm tỉ trọng lớn,
do đó nhu cầu về nhân lực Tester cũng được tăng theo. Tại hội nghị quốc tế về kiểm thử phần
mềm tự động (12/2011, TP HCM), các báo cáo cho thấy: với đà tăng trưởng mạnh mẽ của
ngành gia công phần mềm, trong vài năm tới, Việt Nam thiếu khoảng 10.000 Tester.
Sau ba năm rưỡi học tập tại trường, do mong muốn có thêm kinh nghiệm thực tế, cũng
như muốn được tham gia vào các công đoạn kiểm thử ở một cơng ty phần mềm chun nghiệp.
Vì vậy, em tham gia chương trình thực tập của cơng ty Capgemini để tích lũy thêm kiến thức về
testing nói chung và automation testing nói riêng.

Trần Hồng Long

Trần Thanh Lâm


3


LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn Công ty Capgemini Việt Nam đã tạo điều kiện cho em có cơ
hội được thực tập tại công ty.
Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của nhóm trainer, em đã
tiếp thu được những kiến thức quan trọng trong lĩnh vực Automation Test. Chân thành cảm ơn
các anh chị trong nhóm trainer đã bỏ ra nhiều thời gian,cơng sức để hướng dẫn em hồn thành
đợt thực tập này.
Đặc biệt cảm ơn anh Trần Hoàng Long, đã training những kiến thức về Java, Selenium,
Rest Assured, BDD framework, hướng dẫn, giúp đỡ cho chúng em tận tình cả những khó khăn
trong cơng việc, đến những khó khăn việc làm quen với môi trường mới.
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ài báo cáo này.
Trần Thanh Lâm
TpHCM, ngày 16 tháng 6 năm 2022

Trần Hoàng Long

Trần Thanh Lâm


4

NHẬN XÉT CỦA KHOA

..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................

..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................

Trần Hoàng Long

Trần Thanh Lâm


5

Mục lục
Chương 1: Giới thiêu công ty thực tập ...................................................................................... 6
1. Giới thiệu công ty Capgemini VN .................................................................................... 6
Chương 2: Nội dung thực tập ..................................................................................................... 8
1. Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty..................................................... 8
2. Nghiên cứu kỹ thuật ............................................................................................................. 8
2.1


Các công cụ làm việc ................................................................................................... 8

2.2

Tìm hiểu ngơn ngữ Java ............................................................................................. 8

2.3

Tìm hiểu Selenium Framework ................................................................................... 9

2.4

Tìm hiểu Rest Assured ............................................................................................... 10

2.5

Tìm hiểu về Cucumber ............................................................................................... 11

3. Thực hiện project................................................................................................................ 12
4. Lịch làm việc ....................................................................................................................... 12
Chương 3: Chi tiết về project ................................................................................................... 14
TÀI LIỆU THAM KHẢO ....................................................................................................... 255
TỔNG KẾT .............................................................................................................................. 266

Trần Hoàng Long

Trần Thanh Lâm


6


Chương 1: Giới thiêu công ty thực tập

1. Giới thiệu công ty Capgemini VN
Với đội ngũ hơn 190.000 ngàn nhân viên có mặt tại hơn 40 quốc gia trên thế giới, Tập
đoàn Capgemini đang kỷ niệm hơn 50 năm thành lập trong năm 2017. Là một tập đoàn dẫn đầu
trong lĩnh vực tư vấn, công nghệ và dịch vụ gia cơng phần mềm, doanh thu tồn cầu của
Capgemini trong năm 2016 được báo cáo là 12,5 tỷ EUR. Để đồng hành cùng với khách hàng
của mình, Capgemini khơng ngừng sáng tạo và cung cấp các giải pháp về kỹ thuật, công nghệ
và thương mại nhằm đáp ứng yêu cầu của khách hàng trong việc đổi mới và tang khả năng cạnh
tranh.
Capgemini, một tổ chức đa văn hóa sâu sắc, đã và đang phát triển phương thức hoạt động
riêng của mình, the Collaborative Business ExperienceTM, and draws on Rightshore®, một mơ
hình phân phối trên toàn thế giới của Capgemini.
Capgemini Vietnam là một văn phòng lớn tọa lạc trên lầu 2, tòa nhà Centre Point, 106
Nguyễn Văn Trỗi , quận Phú Nhuận, Thành phố Hồ Chí Minh. Ngồi việc trở thành nhà cung
cấp uy tín các dịch vụ ứng dụng trên web, Capgemini Vietnam cịn cung cấp dịch vụ cơng nghệ
thơng tin cho các Tập đoàn bảo hiểm và Ngân hàng lớn nhất thế giới.

Trần Hoàng Long

Trần Thanh Lâm


7

Thơng tin liên hệ
• Địa chỉ văn phịng
2nd CentrePoint Building, 106 Nguyễn Văn Trỗi, Phú Nhuận, TP Hồ Chí Minh
• Điện thoại liên hệ

(+84) 839978100
• Website
www.capgemini.com

Trần Hồng Long

Trần Thanh Lâm


8

Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Automation Testing” nhằm mục đích giúp sinh viên thực tập
được đào tạo toàn diện về Kiểm thử phần mềm tự động, đồng thời rèn luyện những kỹ năng
mềm như làm việc nhóm, thuyết trình, giao tiếp. Tại cơng ty, sinh viên có cơ hội được học tập,
khám phá và làm việc trong một môi trường phát triển phần mềm chun nghiệp.

1. Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty
Thời gian : 1 ngày
Nội dung: Sinh viên được cung cấp slide và video clip giới thiệu về công ty, cũng

như được hướng dẫn các vấn đề khác như thời gian, văn hoá và quy định làm việc
của công ty.
Kết quả : Hiểu thêm về công ty Capgemini, q trình thành lập và phát triển. Có thêm
các kỹ năng về việc sử dụng email trong công việc, làm việc có kế hoạch, có kỷ luật, có
trách nhiệm hơn.

2. Nghiên cứu kỹ thuật
2.1 Các công cụ làm việc
Thời gian : 1 ngày

Nội dung : Tìm hiểu về các cơng cụ sẽ được sử dụng trong q trình làm việc.
Trong thời gian này, mentor của em đã giới thiệu cho em về các công cụ như
Intellij IDEA, Selenium Framework, Maven, TestNG.
Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên.
Kết quả : Hiểu được các cơng cụ cần thiết để test website bằng Seleium.
2.2 Tìm hiểu ngôn ngữ Java
Thời gian : 3 ngày (1 tuần)
Nội dung : Được training về các kỹ thuật Java nâng cao, những kiến thức quan trọng
cho việc sử dụng ngôn ngữ lập trình Java trong Selenium Framework
-

Lập trình hướng đối tượng

Trần Hoàng Long

Trần Thanh Lâm


9

Các kiến thức cơ bản về lập trình hướng đối tượng như khái niêm, các đặc tính
như tính kế thừa, tính đóng gói, tính ảo hóa, tính đa hình.
-

Java 8:
Thực tập sinh sẽ được tìm hiểu về các tính năng của Java 8, ứng dụng của ngôn
ngữ Java trong kiểm thử tự động bằng Seleium

Thực hiện :
-


Tham gia đầy đủ các buổi training của công ty.

-

Làm các bài thực hành, kiểm tra về kiến thức đã học.

Kết quả :
-

Nâng cao kỹ năng lập trình với ngơn ngữ Java.

-

Có được những kiến thức quan trọng cho việc lập trình Java cho Seleium.

-

Ngồi ra cịn được biết thêm một số quy tắc trong việc viết code sao cho đúng
chuẩn, dễ đọc, dễ hiểu.

2.3 Tìm hiểu Selenium Framework

Thời gian: 4 tuần
Nội dung: Các kiến thức cơ bản về Selenium để có thể test một trang web.
-

Khái niệm cơ bản về Seleium.
Nắm được các khái niệm cơ bản về Seleium, đặt biệt là Seleium WebDriver, nó
thực hiện một cách tiếp cận hiện đại và ổn định hơn trong việc tự động hóa các

hành động của trình duyệt.
Ngồi ra, mentor cịn giúp em hiểu được rất nhiều khái niệm trong Selenium như
locator, wait, report, ….

Thực hiện:

Trần Hoàng Long

Trần Thanh Lâm


10

-

Tham gia đầy đủ các buổi trainning.

-

Làm các bài tập thực hành như test một số chức năng đơn giản

-

Tìm kiếm tài liệu trên mạng để tìm hiểu thêm.

Kết quả :
-

Hiểu được những khái niệm cơ bản về Selenium.


2.4 Tìm hiểu Rest Assured

Thời gian : 2 tuần
Nội dung : Các khái niệm cơ bản về Rest Assured Framework dùng để test API.
-

Định nghĩa về API:
API là viết tắt của Application Programming Interface – phương thức trung gian
kết nối các ứng dụng và thư viện khác nhau.
Nó cung cấp khả năng truy xuất đến một tập các hàm hay dùng, từ đó có thể trao
đổi dữ liệu giữa các ứng dụng.

-

Tìm hiểu về Rest Assured Framework:
Rest-assured (RestA) là 1 thư viện Java DSL được xây dựng trên nền HTTP
Builder (thư viện tạo HTTP request), cho phép thực hiện gửi request và kiểm tra
response.
Thực hiện :

-

Tham gia đầy đủ các buổi training.

-

Test những API cơ bản.

Kết quả:
-


Hiểu được quá trình test API, các khái niệm cơ bản của Rest Assured

Trần Hoàng Long

Trần Thanh Lâm


11

2.5 Tìm hiểu về Cucumber

Thời gian: 2 tuần
Nội dung: Các khái niệm cơ bản về Cucumber
-

Định nghĩa về Cucumber:
Cucumber, testing framework hỗ trợ Behavior Driven Development (BDD), cho
phép người dùng định nghĩa hành vi hệ thống với ngữ nghĩa tiếng anh thông qua
cú pháp Gherkin. Cucumber hướng tới việc viết test “as cool as cucumber” mà bất
kỳ ai cũng có thể hiểu cho dù họ khơng có chun mơn kĩ thuật. Ví dụ như các
nền tảng quen thuộc như Selenium thì thường chỉ người viết test hoặc có kĩ năng
lập trình.
Thực hiện :

-

Tham gia đầy đủ các buổi training.

-


Viết các kịch bản test.

Kết quả:
-

Nắm vững BDD testing.

-

Viết được kịch bản test cho các chức năng.

Trần Hoàng Long

Trần Thanh Lâm


12

3

Thực hiện project
Sau 2 tháng được training và thực hành, thực tập sinh đã nắm được những kiến thực cơ
bản về Automation Testing. Trong tháng cuối cùng, mentor đã hướng dẫn thực tập sinh
áp dụng những kiến thức đã học để test một trang web thực tế.
Chi tiết đồ án sẽ được nói ở phần sau.

4

Lịch làm việc


Tuần

Cơng việc
Tìm hiểu về công ty,
cách tổ chức của công ty.
- Làm quen với các công
cụ làm việc trong công
ty.
- Học cách trao đổi, làm
việc qua email.
- Cài đặt môi trường Java.
- Cài đặt Maven.
- Cài đặt Intellị IDEA.
- Luyện tập Java.
- Tìm hiểu về Selenium
Webdriver.
- Học mơ hình POM.
- Tìm hiểu TestNG.
- Viết một số test case cơ
bản.
- Tìm hiểu về Rest
Assured.
- Tìm hiểu về API.
- Luyện tập test API với
Rest Assured.
- Tìm hiểu về Cucumber.
- Tích hợp Cucumber với
Selenium.
- Tìm hiểu về Jenkins.

-

1

2

3

4

5

Trần Hoàng Long

Mức
Người hướng
độ
dẫn
hoàn
thành
Anh Trần
100
Hoàng Long

Anh Trần
Hoàng Long

100

Anh Trần

Hoàng Long

100

Anh Trần
Hoàng Long

100

Anh Trần
Hoàng Long

100

Nhận xét của người
hướng dẫn

Trần Thanh Lâm


13

Thực hiện xây dựng các
Anh Trần
test case để test trang web Hồng Long
cảu cơng ty Capgemini.
- Xuất ra các file Report
Anh Trần
- Bổ xung thêm những test Hồng Long
case cịn thiếu.

- Fixbug
-

6

7

8
-

Trần Hoàng Long

Mentor review lại project
Đưa ra những cách làm
tối ưu, hoặc những thư
viện mới hơn.
Báo cáo project cho
mentor

Anh Trần
Hoàng Long

100

100

Trần Thanh Lâm


14


Chương 3: Chi tiết về project
Trong thời gian thực tập tại công ty, người hướng dẫn đã giao cho dự án kiểm thử trang web của
cơng ty có đường dẫn: www.capgemini.com

Hình 1. Website cơng ty

3.2 Mơ tả dự án
Tên: Capgemini Website Test Project
Người thực hiện: Trần Thanh Lâm
Yêu cầu cài đặt:


Java (jdk 8)



Apache Maven 3



Selenium (version 3.141.59)



TestNG (version 7.4.0)



Log4j (version 2.17.0)




Web Driver Manager (version 5.0.3)



Allure Report (version 2.13.8)

Trần Hồng Long

Trần Thanh Lâm


15


IDE: IntelliJ IDEA

Chạy test ở comandline:
mvn test
mvn test -Denv=staging

Hình 2. Cài đặt chạy test ở comandline

mvn test -Dretry=3

Hình 3. Cài đặt chạy lại nếu testcase bị thất bại

Hỗ trợ parameters trong testNG.xml:



Trình duyệt: chrome, edge, firefox.

Trần Hồng Long

Trần Thanh Lâm


16

Hình 4. Cài đặt trình duyệt để kiểm thử

Thiết lập Listeners trong testNG.xml:


listeners.TestListener

Hình 5. Thiết lập Listeners Class (1)

Trần Hồng Long

Trần Thanh Lâm


17

Hình 6. Thiết lập Listeners Class (2)

Hình 7. Thiết lập Listeners Class (3)


Trần Hoàng Long

Trần Thanh Lâm


18

Cấu trúc


Trong BasePage, thiết lập trình duyệt, mơi trường, thời gian, URL và Report.

Hình 8. Thiết lập Base Page class


Trong Home Page, đưa tất cả elements vào class và tạo function cho từng trang

Hình 9. Thiết lập Element sử dụng trong Home Page class

Trần Hoàng Long

Trần Thanh Lâm


19



Trong BaseTest, sử dụng Annotation của TestNG và gọi hàm setUP từ BagePage


Hình 10. Thiết lập Base Test class


Trong MainPageTest, viết 2 testcase, 1 bỏ qua và 1 đi đến trang chủ và click vào link đầu
tiên. Khi click vào, trang trở lại trang Relearning.

Hình 11. Testcase trong Main Page class

Trần Hoàng Long

Trần Thanh Lâm


20


Trong SearchTest, đi đến SearchPage và tìm: job. Sử dụng thư viện Jsoup để lấy tất cả
các link trong trang.

Hình 12. Testcase trong Search Test class


Trong IndustriesTest, đi đến AutomotivePage, TelecomsPage, RetailPage và xác minh
tiêu đề của mỗi trang.

Trần Hoàng Long

Trần Thanh Lâm



21
Hình 13. Testcase trong Industries Test class


Trong ServicesTest, đi đến CloudStrategyPage và nhấn vào Minimizing's link.

Hình 14. Testcase trong Services Test class


Trong InsightsNewsTest, đi đến InsightsNewsPage, EventsPage và xác minh tiêu đề của
mỗi trang.

Hình 15. Testcase trong Insights News Test class

Trần Hoàng Long

Trần Thanh Lâm


22


Trong AboutUsTest, đi đến AllOurBrandsPage, PurposePage và lấy nội dung của từng
trang.

Hình 16. Testcase trong About Us Test class

Tất cả các lớp đều được kế thừa từ BaseTest. Nếu 1 trong các testcase bị thất bại, Listeners sẽ
chụp màn hình và hiện lên trong report.


Trần Hoàng Long

Trần Thanh Lâm


23

3.1 Report của dự án
-

Sử dụng Allure Report:

Hình 17. Tổng quan report

- Tất cả testcase đã chạy

Hình 18. Tất cả testcase đã chạy

Trần Hoàng Long

Trần Thanh Lâm


24

- Đối với testcase bị thất bại sẽ tự động chụp màn hình

Hình 19. Chụp màn hình với testcase bị thất bại


- Tổng quan trạng thái

Hình 20. Tổng quan trạng thái của report

Trần Hoàng Long

Trần Thanh Lâm


25

TÀI LIỆU THAM KHẢO

For Java
/>For Selenium
/> /> />For Rest Assured
/>For Cucumber
/>
Trần Hoàng Long

Trần Thanh Lâm


×