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

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

26 5 0

Đ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

Định dạng
Số trang 26
Dung lượng 2,06 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Trang 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 chuyên 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

Trang 3

Đặ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

Trang 4

NHẬN XÉT CỦA KHOA

Trang 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

Trang 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 toà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 Ngoà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

Trang 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

Trang 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 chuyên 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, quá 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 quá 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

Trang 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

- Ngoà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

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

Trang 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

- 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

Trang 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ó chuyên 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

Trang 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

Mức

độ hoàn thành

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

1

- 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

Anh Trần Hoàng Long

100

3

- Tìm hiểu về Selenium Webdriver

100

4

- Tìm hiểu về Rest Assured

- Tìm hiểu về API

- Luyện tập test API với Rest Assured

Anh Trần Hoàng Long

100

5

- Tìm hiểu về Cucumber

- Tích hợp Cucumber với Selenium

- Tìm hiểu về Jenkins

Anh Trần Hoàng Long

100

Trang 13

6

- Thực hiện xây dựng các test case để test trang web cảu công ty Capgemini

- Xuất ra các file Report

Anh Trần Hoàng Long

100

8

- 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

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

Trang 15

• IDE: IntelliJ IDEA

Chạy test ở comandline:

mvn test

mvn test -Denv=staging

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

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

Hỗ trợ parameters trong testNG.xml:

Trang 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)

Trang 17

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

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

Trang 18

Cấu trúc

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

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

Trang 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

tiên Khi click vào, trang trở lại trang Relearning

Hình 11 Testcase trong Main Page class

Trang 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

tiêu đề của mỗi trang

Trang 21

Hình 13 Testcase trong Industries Test class

Hình 14 Testcase trong Services Test class

mỗi trang

Hình 15 Testcase trong Insights News Test class

Trang 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

Trang 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

Trang 25

TÀI LIỆU THAM KHẢO

Trang 26

TỔNG KẾT

Trong thời gian thực tập tại công ty Capgemini, bản thân em đã học hỏi và được trau dồi rất nhiều kiến thức về Automation Testing, cũng như thái độ và phong cách làm việc chuyên nghiệp trong ngành IT Những kiến thức này sẽ bổ trợ cho em rất nhiều trong con đường tương lai sau này

Sau cùng, em xin chân thành cảm ơn các thầy cô trường Đại học Công nghệ thông tin, các thầy cô khoa Công nghệ phần mềm, công ty Capgemini, chị Lê Hiền, anh Trần Hoàng Long, cùng các bạn trong team đã giúp đỡ em trong thời gian thực tập của mình

Ngày đăng: 17/08/2022, 20:56

TỪ KHÓA LIÊN QUAN

w