1. Trang chủ
  2. » Công Nghệ Thông Tin

Báo cáo thực tập kiểm thử phần mềm tự động (AUTOMATION TESTING)

31 226 2

Đ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 đề Báo Cáo Thực Tập Kiểm Thử Phần Mềm Tự Động (Automation Testing)
Tác giả Ngô Tấn Phát
Người hướng dẫn Lê Thanh Trọng
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 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 31
Dung lượng 1,4 MB

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

Nội dung

Với sự cạnh tranh giữa các ứng hiện nay, thị hiếu của người dùng và khách hàng phụ thuộc ít nhiều vào chất lượng của ứng dụng đó, do đó kiểm thử phần mềm đã và đang là nhân tố không thể

Trang 1

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

Trang 2

LỜI MỞ ĐẦU

Từ xưa đến nay, kiểm thử phần mềm là một giai đoạn quan trọng trong các quy trình phát triển phần mềm Với sự cạnh tranh giữa các ứng hiện nay, thị hiếu của người dùng và khách hàng phụ thuộc ít nhiều vào chất lượng của ứng dụng đó, do đó kiểm thử phần mềm đã

và đang là nhân tố không thể thiếu để quyết định sự thành bại của một ứng dụng trên thị trường, cũng như uy tín đối với tổ chức sản xuất ra ứng dụng tương ứng

Cùng với xu thế phát triển của thế giới, Việt Nam cũng không phải ngoại lệ Lĩnh vực kiểm thử phần mềm ở Việt Nam đã và đang phát triển mạnh mẽ, để làm cho các ứng dụng sản xuất/gia công tại Việt Nam đạt được chất lượng có thể sánh vai với chất lượng của những ứng dụng được sản xuất ở khắp nơi trên thế giới Bên cạnh những công ty hàng đầu, những công ty outsourcing/product ở Việt Nam cũng đã và đang đầu tư rất nhiều chi phí vào giai đoạn kiểm thử cho một dự án, góp phần rất lớn vào chất lượng của sản phẩm, từ đó mang lại cho người dùng có được một trải nghiệm tốt nhất

Ngành kiểm thử phần mềm có 2 loại chính, đó là manual testing (kiểm thử thủ công) và automation testing (kiểm thử tự động) Mỗi loại kiểm thử đều có những chức năng/ưu điểm và

khuyết điểm riêng

Sau bốn năm học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế, cũng như muốn được tham gia kiểm thử trong một môi trường chuyên nghiệp, em có dự định là sẽ thực

tập trong học kì này Vì vậy, em quyết định chọn Công Ty TNHH Pyramid Consulting - một

môi trường lý tưởng, hiện đại, chuyên nghiệp - là nơi sẽ giúp em thực hiện được dự định này

Trang 3

LỜI CẢM ƠN

Em xin gửi lời cám ơn đến Công ty TNHH Pyramid Consulting đã tạo điều kiện để em thực hiện tốt chương trình thực tập của mình Đặc biệt, em xin cám ơn anh Nguyễn Huy Bình đã tận tình hướng dẫn, chỉ dạy để giúp em có thêm kiến thức, kinh nghiệm trong công việc Nhờ sự chỉ dạy tân tình của quý công ty tạo một môi trường làm việc, sự quan tâm của các anh, các chị đồng nghiệp nên em mới có được những kiến thức và những trải nghiệm thật sự quý giá Em cám ơn sự yêu quý và tinh tưởng của mọi người đã tạo cho em một môi trường làm việc thật năng động, tuy đôi lúc có chút áp lực về công việc nhưng nhờ sự giúp đỡ tận tình và tinh thần đoàn kết của mọi người, nên tất những khó khăn ấy sẽ là động lực để em cố gắng và vươn xa hơn để có thể trở thành một phần của công ty, và cùng nhau tạo nên nhưng giá trị cho công ty

TP.Hồ Chí Minh, ngày 25 tháng 12 năm 2021

Sinh viên thực tập

Trang 4

NHẬN XÉT CỦA KHOA

Trang 5

MỤC LỤC

CHƯƠNG 1: GIỚI THIỆU ĐƠN VỊ THỰC TẬP 8

1.1 Thông tin về đơn vị thực tập: 8

CHƯƠNG 2: NỘI DUNG CÔNG VIỆC THỰC TẬP 9

2.1 Tìm hiểu về mô hình agile, hệ thống ISMS và automation QC 9

2.2 Các công việc thực hiện trong kỳ thực tập 10

Tuần 1 10

Tuần 2 10

Tuần 3 11

Tuần 4 11

Tuần 5 12

2.3 Một số hình ảnh về source code bài tập trong quá trình thực tập………13

CHƯƠNG 3: DỰ ÁN THỰC TẾ……… 28

3.1 Thông tin dự án……… 28

3.2 Công việc trong dự án……….29

3.3 Một số hình ảnh về những công cụ sử dụng trong dự án ……… 27

CHƯƠNG 4: KẾT LUẬN 31

4.1 Những kỹ năng thực hành 31

4.2 Những kinh nghiệm tích lũy được 31

Trang 6

DANH MỤC CÁC HÌNH ẢNH

Hình 1.0 Hình ảnh công ty 6

Hình 1.1 Mô hình Agile 8

Hình 1.2 Hệ thống ISMS 8

Hình 1.3 Sử dụng Map trong Java 13

Hình 1.4 Sử dụng List trong Java 14

Hình 1.5 Sử dụng Array trong Java 15

Hình 1.6 Sử dụng OOP trong Java 16

Hình 1.7 Sử dụng TestNG 17

Hình 1.8 Sử dụng Page Object Model 18

Hình 1.9 Sử dụng Page Factory 19

Hình 2.0 Sử dụng Data Provider 19

Hình 2.1 Sử dụng ngôn ngữ Gherkin 20

Hình 2.2 Sử dụng Cucumber BDD 20

Hình 2.3 Cấu hình file test Runner để chạy JUnit 21

Hình 2.4 Cấu hình file pom.xml .21

Hình 2.5 Viết User Story cho chức năng 22

Hình 2.6 Viết các test case trong file Excel 22

Hình 2.7 Execute test case trong Test Cycle 23

Hình 2.8 Các bug của hệ thống 23

Hình 2.9 Giao diện BitBucket 24

Hình 3.0 Path Parameters trong Rest Assured 25

Hình 3.1 Query Parameters trong Rest Assured 25

Hình 3.2 Sử dụng Rest Assured để lấy response time 26

Hình 3.3 Kết quả chạy Rest Assured 27

Trang 7

CHƯƠNG 1:

GIỚI THIỆU VỀ ĐƠN VỊ THỰC TẬP

1.1 Thông tin về đơn vị thực tập:

Hình 1.0: Hình ảnh công ty

Công ty TNHH Pyramid Consulting (Tên tiếng anh: Positive Thinking Company)

là một tập đoàn tư vấn công nghệ độc lập toàn cầu Với đội ngũ hơn 3.000 chuyên gia công nghệ tài năng tại hơn 35 thành phố trên khắp Châu Âu, Mỹ, Châu Á, Châu Úc và Châu Phi, công ty phục vụ khách hàng ở mọi quy mô PTC tin rằng

sự hợp tác sẽ làm tốt hơn thế giới của chúng ta Mô hình hệ sinh thái mở độc đáo của PTC cho phép chúng tôi cung cấp các giải pháp công nghệ đầu cuối

PTC hợp tác với khách hàng của chúng tôi ở mọi giai đoạn trong vòng đời của các dự án của họ, từ chiến lược đến thực hiện PTC tư vấn cho khách hàng của chúng tôi, xây dựng và điều hành các dự án của họ PTC đặt mục tiêu khai thác toàn bộ tiềm năng của đồng nghiệp bằng cách cung cấp cho họ một môi trường tiến hóa, khuyến khích sự hợp tác, sáng tạo và một tư duy tích cực

Trang 8

Các dịch vụ của chúng tôi dựa trên nhiều chuyên môn, bao gồm ứng dụng và nền tảng, bảo mật, đám mây, dữ liệu và phân tích, siêu tự động hóa và nơi làm việc kỹ thuật số Các ngành được hưởng lợi bao gồm, trong số những ngành khác, dịch

vụ ngân hàng và tài chính, bảo hiểm, chăm sóc sức khỏe, bán lẻ, vận tải, viễn thông và khu vực công PTC cung cấp dịch vụ của chúng tôi với tư duy hợp tác và

có ý nghĩa PTC đặt mục tiêu tạo ra các kết quả kinh doanh tích cực hỗ trợ khách hàng của chúng tôi thông qua môi trường kinh doanh luôn thay đổi.Hình 1.0 Hình ảnh công ty

1.1.1 Cơ sở vật chất

Cơ sở vật chất tương đối tốt, được trang bị đầy đủ các thiết bị như máy tính để bàn, màn hình trình chiếu đảm bảo đáp ứng tốt quá trình làm việc cho nhân viên Ngoài ra các tiện nghi khác như: máy nước nóng, máy lạnh, cà phê,…giúp cho nhân viên có một môi trường làm việc đảm bảo cũng như có thể xả stress sau những giờ làm việc căng thẳng

1.1.3 Yêu cầu về thái độ và kỹ năng làm việc

Để đảm bảo công việc hoàn thành đúng tiến trình, công ty yêu cầu sinh viên có tác phong tốt trong công việc, thái độ làm việc vui vẻ hòa đồng với mọi người Công ty không yêu cầu sinh viên có kiến thức chuyên môn sâu nhưng yêu cầu sinh viên phải chịu khó tìm tòi học hỏi những kiến thức chuyên môn từ cơ bản đến nâng cao, để đáp ứng một cách tốt nhất trong quá trình làm việc

Trang 9

CHƯƠNG 2:

NỘI DUNG CÔNG VIỆC THỰC TẬP

2.1 Tìm hiểu về một số phần quan trọng được dùng trong quá trình làm việc tại công ty

- Agile là tập hợp các phương thức phát triển lặp và tăng dần trong đó các yêu cầu và giải

pháp được phát triển thông qua sự liên kết cộng tác giữa các nhóm tự quản và liên chức năng Agile là cách thức làm phần mềm linh hoạt để đưa ra sản phẩm

đến tay người dùng các sớm càng tốt Sau đó khách hàng sẽ dùng thử và phản hồi lại để đội ngũ phát triển tiếp tục làm ở các giai đoạn tiếp theo

Hình 1.1 Mô hình Agile

- Được biết ISMS là cụm từ viết tắt của information security management system Đây là hệ thống quản lý an ninh thông tin ISMS là khái niệm được sử dụng nhiều trong những Doanh Nghiệp công nghệ thông tin và những đơn vị có ứng dụng hệ thống CNTT vào quản lý sản xuất Theo tiêu chuẩn ISO 27001, về an toàn thông tin có liên quan đến các tính chất như

Trang 10

sãn sàng, bảo mật, tính toàn vẹn của thông tin Ngoài ra việc an toàn thông tin còn bao gồm có các tính chất khác như trách nhiệm, xác thực, tính tin cậy và xác nhận

Hình 1.2 Hệ thống ISMS

Automation Test có thể hiểu rất đơn giản là thay vì test bằng tay, ta để máy thực hiện

việc testing mà Tester phải làm (Khởi động hệ thống, nhập dữ liệu đầu vào, kiểm tra so sánh với

dữ liệu đầu ra và ghi kết quả) Automation Testing đóng một vai trò quan trọng góp phần nâng cao năng suất kiểm thử, giảm thiểu lỗi cũng như sự nhàm chán với việc kiểm thử bằng tay trong một thời gian dài hoặc lặp đi lặp lại

2.2 Các công việc thực hiện trong quá trình thực tập:

Học lớp giao tiếp tiếng anh và giao tiếp trong công ty (Communication skill)

Học các vận hành của QC và cách để giám sát chất lượng của sản phẩm

Thứ 6:

Trang 11

Học về kiểm thử tương đương và kiểm thử giá trị biên

Học cách Product Owner làm việc và phân tích yêu cầu của khách hàng cùng với

Product Owner (phần 1)

Tuần 2:

Thứ 2:

Học về các mô hình phát triển, xác định cấp độ kiểm thử

Học cách để thuyết trình hay hơn, về các kỹ năng thuyết trình (phần 1)

Cách tạo test case dùng Zephyr và đăng nó lên JIRA (phần 1)

Thứ 4:

Học về kiểm thử trên Web (phần 1)

Học về ngôn ngữ Java (phần 1)

Cách tạo test case dùng Zephyr và đăng nó lên JIRA (phần 2)

Học kiểm thử trên Web (phần 2)

Thứ 6:

Học về cách test layout trên web sử dụng CSS Viewer

Học cách Product Owner làm việc và phân tích yêu cầu của khách hàng cùng với

Học viết báo cáo cho QC

Học cách kiểm thử trên Mobile (phần 1)

Trang 12

Tuần 4:

Thứ 2:

Học tiếng anh

Viết test case bằng Zephyr và đăng lên JIRA (phần 2)

Học về cách tìm bug và viết báo cáo cho bug (phần 1)

Học Static testing technique (Kiểm thử từ bước có yêu cầu hệ thống)

Học sử dụng Git trên BitBucket

Trang 13

2.3 Một số hình ảnh về source code bài tập trong quá trình thực tập:

Hình 1.3 Sử dụng Map trong Java

Trang 14

Hình 1.4 Sử dụng List trong Java

Trang 15

Hình 1.5 Sử dụng Array trong Java

Trang 16

Hình 1.6 Sử dụng OOP Trong Java

Trang 17

Hình 1.7 Sử dụng TestNG

Trang 18

Hình 1.8 Sử dụng Page Object Model

Trang 19

Hình 1.9 Sử dụng Page Factory

Hình 2.0 Sử dụng Data Provider

Trang 20

Hình 2.1 Sử dụng Gherkin

Trang 21

Hình 2.2 Sử dụng Cucumber BDD

Hình 2.3 Cấu hình file test Runner để chạy Junit

Hình 2.4 Cấu hình file pom.xml

Trang 22

Hình 3.0 Path Parameters trong Rest Assured

Hình 3.1 Query Parameters trong Rest Assured

Trang 23

Hình 3.2 Sử dụng Rest Assured để lấy response time

Trang 24

Hình 3.3 Kết quả chạy Rest Assured

Trang 25

CHƯƠNG 3:

DỰ ÁN THỰC TẾ

(**Lưu ý: Dự án này thuộc quyền sở hữu của công ty, và phía công ty chỉ cho phép tiết lộ thông tin tổng quan của dự án, và không cho phép chia sẻ hay tiết lộ mã nguồn dự án ra bên ngoài Nếu bị phát hiện sẽ bị xử lý theo pháp luật Mong quý thầy cô thông cảm)

3.1 Thông tin dự án:

Theo như chính sách bảo mật của công ty, em chỉ được phép mô tả ngắn gọn về dự án mà em đã tham gia:

 HICLINIC là một ứng dụng web cho phép người dùng đặt bác sĩ từ các phòng khám để

họ có thể tự khám HICLINIC sử dụng 3 urls cho 3 portal khác nhau (admin portal, clinic portal và patient portal) và lần lượt dành cho 3 kiểu người dùng khác nhau (admin hệ thống, nhân viên phòng khám và bệnh nhân) Admin portal dùng để quản lý đơn hàng của bác sĩ cũng như doanh thu và cho phép phòng khám đăng ký khám chữa bệnh Clinic portal cho phép các phòng khám đăng ký khám bệnh trên ứng dụng để có thể tiếp cận khách hàng Patient portal bệnh nhân được sử dụng để cho phép bệnh nhân tìm kiếm

phòng khám và bác sĩ để đặt lịch khám

 Dự án được chia ra làm 3 sprint để phát triển

 Team dự án gồm 15 developer, 7 tester, 3 product owner, 1 project manager

 Team dự án trên được chia ra làm 3 team nhỏ, mỗi team đều có đầy đủ các vai trò khác nhau (developer, tester, product owner) và vai trò của mỗi scrum team là phát triển từng portal trên

 Dự án được phát triển theo mô hình Agile/Scrum

 Một sprint trong dự án kéo dài 2 tuần

 Công cụ quản lý sử dụng trong dự án:

 Jira: Quản lý task của từng thành viên trong dự án

 Confluence: Quản lý tài liệu liên quan đến dự án

Trang 26

 Bitbucket: Quản lý mã nguồn dự án

 Zephyr Squad: Quản lí test cases

 Công nghệ/Thư viện/Framework được sử dụng trong dự án:

 Phát triển app: ReactJs (CoreUI Material), Java (Spring Boot), MongoDB

 Viết script kiểm thử tự động: Selenium, Java (Cucumber)

3.2 Công việc trong dự án:

Công việc Khoảng thời gian:

Tham gia sprint

grooming, backlog

refinement, sprint

planning, sprint test

planning

Ngày đầu tiên của sprint (Cả 3 sprint)

Kiểm tra requirement

và gửi nhận xét cho

product owner

Ngày thứ hai của sprint (Cả 3 sprint)

Viết test cases dựa trên

test plan và user stories

(requirement) (gồm

functional test cases,

API test cases và layout

test cases)

Từ ngày thứ 3 đến ngày thứ 5 của sprint (Cả 3 sprint)

Review test cases của

tester khác và đưa test

case của mình cho

Bắt lỗi -> Thông báo

cho developer -> Kiểm

tra lại

Từ ngày thứ 7 đến ngày thứ 13 của sprint (Cả

3 sprint)

Trang 27

Soạn test case cho việc

smoke test (test case để

tiến hành UAT – demo

cho khách hàng xem)

Ngày thứ 13 của sprint (Cả 3 sprint)

Tham gia UAT meeting

(Sprint demo) Ngày thứ 14 của sprint (Cả 3 sprint)

Tham gia sprint

retrospective meeting Ngày thứ 14 của sprint (Cả 3 sprint)

Tham gia viết test

Trang 28

Hình 2.5 User Story của chức năng

Hình 2.6 Viết test case trong file Excel

Trang 29

Hình 2.7 Execute test case trong Test Cycle

Hình 2.8 Các bug của hệ thống

Trang 30

Hình 2.9 Giao diện BitBucket

Trang 31

CHƯƠNG 4:

KẾT LUẬN

3.1 Những kỹ năng thực hành

 Biết thêm được nhiều kiến thức trong quá trình tìm hiểu và làm việc, cách tổng hợp

và tìm kiếm tài liệu một cách nhanh hơn, cách làm việc nhóm trong team

 Biết cách triển khai theo kiểm thử bằng tay và kiểm thử tự động

 Biết về các phần mềm làm kiểm thử, công cụ quản lý công việc, công cụ giao tiếp giữa các thành viên trong công ty một cách nhanh chóng và hiệu quả

 Biết cách giao tiếp với khách hàng và sau đó thu thập yêu cầu của khách hàng để viết User Story

 Biết cách thuyết trình và trình bày nội dung trước mọi người

3.2 Những kinh nghiệm tích lũy được:

 Sau khi trải qua một thời gian thực tập tại công ty, em đã phát triển, cũng như tích lũy được rất nhiều kiến thức quý báu cho bản thân mình Không chỉ những kỹ năng liên quan đến lập trình, mà nó còn có những kinh nghiệm, kiến thức mà khi

ta trải nghiệm thực tế thì mới được tiếp xúc với nó như cách giải quyết một vấn đề khó, cách giao tiếp với đồng nghiệp trong team để trao đổi một cách mạch lạc và

dễ hiểu nhất cho cả hai phía như thế nào

 Ngành công nghệ thông tin là một ngành nghề rất cần kỹ năng ngoại ngữ đặc biệt

là tiếng anh, đây cũng là một kinh nghiệm, một kiến thức mà em được trau dồi khi được làm việc tại công ty

Ngày đăng: 10/03/2022, 20:34

TỪ KHÓA LIÊN QUAN

w