(Tiểu luận) báo cáo thực tập công ty cổ phần thương mại – đầu tư – xây dựng phát triển sài gòn (sagotic jsc)

61 0 0
(Tiểu luận) báo cáo thực tập công ty cổ phần thương mại – đầu tư – xây dựng   phát triển sài gòn (sagotic jsc)

Đ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

Những việc làm được phân công tại công ty- Quá trình thực tập của tôi gồm có 7 % tự học và 25% là được training, tìm hiểu về kiến 5 thức kiểm thử tự động và các công cụ phổ biến cụ thể l

Trang 1

TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN

-

ĐINH THÁI SƠN

AUTOMATION TESTING

BÁO CÁO THỰC TẬP TỐT NGHIỆP

Ngành: Công Nghệ Thông Tin Hướng chuyên ngành: Mạng máy tính Lớp: DH19CS02

NGƯỜI HƯỚNG DẪN KHOA HỌC TS Nguyễn Thị Mai Trang

Thành phố Hồ Chí Minh – Năm 2023

Trang 2

TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN

-

ĐINH THÁI SƠN

AUTOMATION TESTING

BÁO CÁO THỰC TẬP TỐT NGHIỆP

Ngành: Công Nghệ Thông Tin Hướng chuyên ngành: Mạng máy tính Lớp: DH19CS02

NGƯỜI HƯỚNG DẪN KHOA HỌC TS Nguyễn Thị Mai Trang

Thành phố Hồ Chí Minh – Năm 2023

Trang 4

1

LỜI CÁM ƠN

Sau khi trải qua hơn 2 tháng thực tập tại Công ty Cổ Phần Thương Mại – Đầu Tư – Xây Dựng - Phát Triển Sài Gòn (SAGOTIC JSC) thì đây là khoảng thời gian trọn vẹn nhất trong hành trình sinh viên của tôi Ở đây tôi đã có thể vận dụng những kiến thức mà thầy cô khoa Công Nghệ Thông Tin trường Đại học Mở TP.HCM đã truyền đạt cho tôi trong suốt những năm tháng vừa qua Tôi muốn bày tỏ lòng biết ơn sâu sắc với sự hướng dẫn và hỗ trợ mà tôi nhận được từ tất cả các anh/chị trainer, từ những lời khuyên quý báu đến sự kiên nhẫn trong việc chỉ dẫn và hỗ trợ từng bước tiến của tôi trong quá trình thực tập Cảm ơn vì đã chia sẻ kiến thức, kinh nghiệm cùng những góc nhìn sâu sắc về lĩnh vực này Những lời khuyên và sự hỗ trợ của anh/chị đã giúp tôi vượt qua những thách thức và phát triển không ngừng trong công việc hàng ngày

Con xin được gửi lời cám ơn sâu sắc đến cậu Nguyễn Phúc Bảo Thắng – Tổng Giám Đốc của công ty đã tạo điều kiện hết mức cho con được học tập và trải nghiệm môi trường thực tập tại đây Không những vậy, cậu luôn là người giúp đỡ con trong những lúc con gặp khó khăn và luôn là người đưa ra những lời khuyên sâu sắc, những lời động viên và hơn cả hết là những chỉ dẫn hết sức cần cần thiết cho chuyên ngành của con Con xin được cám ơn cậu rất nhiều

Không chỉ vậy, tôi muốn bày tỏ lòng biết ơn đặc biệt đến sự tử tế và tinh thần đoàn kết mà mỗi thành viên trong công ty thể hiện Cám ơn chú Luật, trưởng phòng IT đã tạo điều kiện cho con được tham gia vào dự án của công ty Sự hỗ trợ, sự động viên và sự hòa đồng từ mọi người đã làm cho môi trường làm việc trở nên ấm áp và thân thiện hơn bao giờ hết

Quãng thời gian thực tập này không chỉ giúp tôi tự rèn luyện khả năng tự học và cố gắng của bản thân mà còn giúp tôi hiểu rõ hơn về bản thân mình, về tầm quan trọng của sự cam kết và nỗ lực không ngừng nghỉ Tôi sẽ luôn mang theo những bài học quý giá này trong sự nghiệp của mình Cuối cùng, em muốn bày tỏ lòng biết ơn sâu sắc tới toàn bộ đội ngũ quý anh/chị trong phòng ban vì đã cho em cơ hội quý báu này Em sẽ luôn trân trọng những kinh nghiệm, kiến thức và sự giúp đỡ mà tôi đã nhận được và sẽ cố gắng áp dụng chúng trong tương lai.

Con/em xin chân thành cám ơn!

Too long to read onyour phone? Save

to read later on your computer

Save to a Studylist

Trang 6

Chương 1 GIỚI THIỆU VỀ CƠ QUAN THỰC TẬP 1.1 Giới thiệu khái quát về công ty SAGOTIC JSC 7

1.2 Lịch sử hình thành và phát triển 8

1.3 Chức năng và nhiệm vụ của công ty 8

1.4 Tổ chức bộ máy quản lý của SAGOTIC JSC……… 10

1.5 Lịch làm việc………11

1.6 Những việc làm được phân công tại công ty………12

Chương 2 CƠ SỞ LÝ THUYẾT 14

Chương 3 QUÁ TRÌNH THỰC TẬP 29

3.1 Dự án của công ty 29

3.2 Những kết quả đạt được qua dự án trên 35

Chương 4 Phụ lục 35

4.1 Code của dự án Quản Lý Nhà Hàng 35

4.2 Sử dụng Selenium IDE để thực hiện kiểm thử tự động 44

Trang 7

HTML HyperText Markup Language DOM Document Object Model AC Acceptance Criteria DANH MỤC HÌNH VẼ Hình 1-1 Logo của SAGOTIC JSC 8

Hình 1-2 Sơ đồ bộ máy quản lý của SAGOTIC JSC 11

Hình 2-1 Danh sách các công cụ kiểm thử phổ biến 19

Hình 2-2 Các thành phần chính của Selenium 20

Hình 2-3 Tạo project trên Visual Code 22

Hình 2-4 Cài đặt Nuget Gallery Extension 23

Hình 2-5 Cài đặt C# Extensions 23

Hình 2-6 Mở Nuget Gallery 24

Trang 8

5

Hình 2-7 Cài đặt các package 24

Hình 2-8 Cấu hình file BaseTest.cs 25

Hình 2-9 Cấu hình file Hooks.cs 25

Hình 2-10 Cấu hình file BasePage.cs 26

Hình 2-11 Cấu hình file LoginPage.cs 26

Hình 2-12 Cấu hình file TestLogin.cs 27

Hình 2-13 Màn hình test được hiển thị 27

Hình 2-14 Kết quả thu được 28

Hình 3-1 Giao diện phần Đăng Nhập 29

Hình 3-2 Giao diện phần Đặt món ăn 30

Hình 3-3 Giao diện phần Quản lý Thanh Toán (Admin UI) 30

Hình 3-4 Giao diện phần Quản lý nhân viên 31

Hình 3-5 Giao diện phần Đăng Ký 31

Hình 3-6 Giao diện phần Dịch vụ (Admin UI) 32

Hình 3-7 Giao diện Danh sách món ăn (Admin UI) 32

Hình 3-8 Giao diện phần Đặt bàn 33

Hình 3-9 Giao diện phần Thanh Toán 33

Hình 3-10 Giao diện phần Thống kê Doanh Thu (Admin UI) 34

Hình 3-11 Giao diện phần Lịch sử Đơn Hàng 34

Hình 4-1 Database của dự án 36

Trang 9

6

Hình 4-2, 4-3 Code của phần AdminController.java 37

Hình 4-4 Code của phần UserController.java 38

Hình 4-5 Code của phần StaffController.java 38

Hình 4-6, 4-7 Code của phần IndexController.java 39

Hình 4-8, 4-9 Code của phần ApiDishController.java 40

Hình 4-10 Code của phần ApiAdminController.java 41

Hình 4-11 Giao diện Form chính dùng để test các chức năng của dự án ứng với từng button 42

Hình 4-12 Cài đặt các packages tương ứng sau để có thể sử dụng Selenium Webdriver 42

Hình 4-13 Code của button Test Đăng Nhập (btn_TestLogin) 43

Hình 4-14 Code của button Test Đăng Ký (btn_TestRegister) 43

Hình 4-15, 4-16 Code của button Test Đặt Bàn (btn_testbooking) 44

Hình 4-17 Giao diện Home Page khi đăng nhập tài khoản Admin 45

Hình 4-18 Giao diện Admin Home khi truy cập vào Admin Dashboard 45

Hình 4-19 Giao diện phần Setup Guide 46

Hình 4-20 Giao diện phần View my profile 47

Hình 4-21 Giao diện site https://stage.moosocial.com/php81/moo-320/ với tài khoản Admin 47

Hình 4-22 Giao diện Admin Home của site https://stage.moosocial.com/php81/moo-320/ 48

Trang 10

7

Hình 4-23 Thêm mới những users để thực hiện test được thuận lợi 48

Hình 4-24 Đăng nhập vào user1 để thực hiện tạo ra thêm data cho quá trình test 49

Hình 4-25 Thêm các bài blogs cá nhân 49

Hình 4-26 Thêm extension Selenium IDE cho Google và khởi chạy 50

Hình 4-27 Tạo project mới tên mooSocial_test 50

Hình 4-28 Test đăng nhập - Test case 1 51

Hình 4-29 Test đăng nhập - Test case 2 52

Hình 4-30 Test đăng nhập - Test case 3 52

Hình 4-31 Test đăng nhập - Test case 4 53

Hình 4-32 Test đăng nhập - Test case 5 54

Hình 4-33 Test chức năng post bài viết – Test case 1 55

Hình 4-34 Test chức năng post bài viết – Test case 2 55

Chương 1 GIỚI THIỆU VỀ CƠ QUAN THỰC TẬP 1.1. Giới thiệu khái quát về công ty SAGOTIC JSC - Tên công ty: Công ty Cổ Phần Thương Mại – Đầu Tư – Xây Dựng – Phát Triển Sài Gòn (SAGOTIC JSC) - Địa chỉ: Tọa lạc tại số 262/12 Lê Văn Sỹ Phường 14 Quận 3 - - - TP.HCM - Website công ty: www.xaydungsagotic.com www.trangtraisagotic.com –

- Logo của công ty:

Trang 11

8 Hình 1-1 Logo của SAGOTIC JSC

1.2. Lịch sử hình thành và phát triển

Công ty Cổ phần TM ĐT XD Phát triển Sài Gòn ( gọi tắt là SAGOTIC ) được thành lập theo Giấy phép đăng ký kinh doanh số 0302251539 do Sở kế hoạch Đầu tư Tp.HCM cấp ngày 16/3/2001

Và được chuyển đổi từ ngày 05 tháng 02 năm 2013 Tiền thân là Công ty TNHH TM ĐT XD Phát triển Sài Gòn chuyên thi công, lắp đặt các hệ thống mạng và thiết kế một số công trình dân dụng công nghiệp vừa và nhỏ

Những năm đầu khi mới thành lập, Công ty Sagotic gặp phải rất nhiều khó khăn từ nguồn vốn, nhân lực cho đến sự tin cậy của khách hàng nhưng với nổ lực vượt khó, vươn lên và khẳng định vị thế của mình đến nay Công ty Sagotic đã trờ thành công ty xây dựng có tầm cỡ và được nhiều khách hàng tín nhiệm, thiết kế và xây dựng nhiều dự án lớn trong và ngoài thành phố Hồ Chí Minh như:

- Khách sạn Sài Gòn – Ban Mê đạt tiêu chuẩn 4 sao bao gồm 17 tầng, 108 phòng nằm tại ngã sáu Tp.Ban Mê Thuột – Tỉnh Đắk Lắk

- Khách sạn Nha Trang Palace đạt tiêu chuẩn 4 sao bao gồm 17 tầng, 169 phòng được đặt tại số 09 đường Yersin – Tp.Nha Trang – Tỉnh Khánh Hòa.

- Trung tâm Hội nghị Tiệc cưới Âu Cơ nằm tại số 584 đường Âu Cơ – Phường 10 – Quận Tân Bình – Tp.HCM

- Nhà máy sản xuất Dược phẩm Phong Phú nằm tại Lô số 12 – Đường số 8 – KCN Tân Tạo – Quận Bình Tân – Tp.HCM

Trang 12

9 - Trường Trung học Kinh tế Kỹ thuật Long An nằm tại Thị trấn Bến Lức – Huyện Bến Lức – Tỉnh Long An.

- Trường Mầm non Phường 13 có qui mô lớn nhất Quận Bình Thạnh được đặt tại đường Bình Lợi Trung – Phường 13 – Quận Bình Thạnh – Tp.HCM

- Khách sạn Sài Gòn – Phú Thọ đạt tiêu chuẩn 4 sao gồm 9 tầng nằm tại đường Trần Phú – Phường Gia Cẩm – Tp.Việt Trì – Tỉnh Phú Thọ v.v…

Với Slogan “ SAGOTIC vun đắp mái ấm Việt ” nên toàn thể Ban lãnh đạo, cán bộ công nhân viên của Công ty Sagotic không ngừng học hỏi, trau dồi kinh nghiệm, nâng cao tay nghề để mỗi sản phẩm của Công ty Sagotic đạt tiêu chí “ Tiến độ nhanh – Chất lượng cao – Giá thành hợp lý ”.

Đến nay với đội ngũ cán bộ công nhân có kinh nghiệm và tay nghề cao ( trên 500 người ) có mặt khắp các công trình mà Công ty Sagotic đảm nhiệm trên toàn quốc, chúng tôi tin chắc sẽ xây dựng những công trình chất lượng cao, những ngôi nhà đẹp ấm áp,… góp phần làm đẹp đất nước

1.3. Chức năng và nhiệm vụ của công ty

Công Ty Cổ Phần Đầu Tư Xây Dựng Phát Triển Sài Gòn ( SAGOTIC JSC) là một - thương hiệu uy tín trong lĩnh vực thi công công trình dân dụng, mạng máy tính, công nghiệp, khách sạn, cao ốc, resort….Các dự án và sản phẩm nhà dân dụng mang thương hiệu SAGOTIC JSC mang lại cuộc sống tiện nghi – hạnh phúc an gia cho người dân đô thị, góp phần tạo nên sự hiện đại, sang trọng cho bộ mặt Tp.HCM và các tỉnh thành Do nhu cầu phát triển ngày càng cao và sự cạnh tranh quyết liệt của xã hội.Chủ đầu tư đòi hỏi công trình phải hội tụ các yếu tố : bền vững, công năng hợp lý và tính mỹ thuật cao (bố cục, tỉ lệ, ánh sáng, màu sắc….)để đáp ứng nhu cầu trên công ty Sagotic JSC ra đời vào năm 2008

Các lĩnh vực hoạt động:

- Xây dựng công trình dân dụng, công nghiệp, giao thông.

Trang 13

10 - Thi công lắp đặt hệ thống điện, hệ thống cấp, thoát nước, lò sưởi và điều hòa không khí - Thiết kế, thi công, lắp đặt hệ thống mạng dân dụng, mạng doanh nghiệp vừa và nhỏ

- Bán buôn giường, tủ, bàn ghế và đồ dùng nội thất tương tự

- Bán buôn xi măng Bán buôn gạch xây, ngói, đá, cát, sỏi Bán buôn kính xây dựng Bán buôn gạch ốp lát và thiết bị vệ sinh

- Cho thuê máy móc thiết bị xây dựng - Lập trình máy vi tính

- Hoạt động dịch vụ công nghệ thông tin và dịch vụ khác liên quan đến máy vi tính - Cổng thông tin: Dịch vụ thiết kế trang web

- Thiết kế đồ hoạ

- Khách sạn (đạt tiêu chuẩn sao và không hoạt động tại trụ sở).

- Biệt thự hoặc căn hộ kinh doanh dịch vụ lưu trú ngắn ngày ( không hoạt động tại TP Hồ Chí Minh )

- Đại lý du lịch Dịch vụ hỗ trợ liên quan đến quảng bá và tổ chức các tour du lịch lớn nhỏ

Trang 14

11 - Sản xuất giường, tủ, bàn, ghế bằng gỗ sản xuất đồ chơi, trò chơi ( không hoạt động tại , trụ sở )

1.4. Tổ chức bộ máy quản lý của công ty

Hình 1-2 Sơ đồ bộ máy quản lý của SAGOTIC JSC 1.5. Lịch làm việc

Trang 15

12 - Lịch làm việc Thời gian thực tập bắt đầu từ ngày 30/10/2023 đến 07/01/2022 (10 tuần) Thời gian thực tập: 5 ngày/tuần (từ thứ hai đến thứ sáu).

• Sáng: từ 8 giờ 30 đến 12 giờ • Chiều: từ 13 giờ30đến 18 giờ

• Thời gian nghỉ trưa: từ 12 giờ đến 13 giờ 30 1.6. Những việc làm được phân công tại công ty

- Quá trình thực tập của tôi gồm có 7 % tự học và 25% là được training, tìm hiểu về kiến 5 thức kiểm thử tự động và các công cụ phổ biến cụ thể là Selenium Bên cạnh đó là tham gia các lớp học tiếng Anh do công ty tổ chức để bổ túc kiến thức tiếng Anh chuyên ngành cho nhân viên công ty Bên cạnh đó tôi còn được tham gia những lớp dạy kỹ năng mềm, kỹ năng ứng xử nơi môi trường văn phòng rất hay và bổ ích

- Tuần 1, 2:

+ Tìm hiểu về nguyên lý hoạt động của các công cụ tự động hóa kiểm thử như Selenium, Appium, hoặc các công cụ khác Song song với đó, tôi được một số anh chị hướng dẫn tìm hiểu về manual testing và được chỉ dẫn viết một số test case cơ bản

+ Đọc tài liệu, xtôi video hướng dẫn và thực hành cơ bản với các công cụ này + Tham gia các lớp học tiếng Anh bổ túc (dành cho người đi làm)

- Tuần 3, 4:

+ Tìm hiểu sâu hơn về công cụ kiểm thử Selenium

+ Bắt đầu phát triển kỹ năng viết kịch bản kiểm thử tự động sử dụng một công cụ cụ thể + Tạo các kịch bản đơn giản để kiểm thử các tính năng cơ bản của ứng dụng

+ Tham gia các lớp học tiếng Anh bổ túc (dành cho người đi làm) - Tuần 5, 6:

Trang 16

13 + Chạy các kịch bản kiểm thử đã tạo để kiểm tra ứng dụng và ghi lại các lỗi/phát hiện + Học cách sử dụng kết quả kiểm thử để tạo báo cáo và đề xuất cải tiến

+ Tham gia lớp học kỹ năng mềm: kỹ năng giao tiếp và ứng xử nơi văn phòng + Tham gia vào dự án của công ty (xây dựng website Quản lý nhà hàng) - Tuần 7, 8:

+ Tìm hiểu xây dựng, thiết kế database và tiếp tục phát triển dự án trên Bên cạnh đó còn được tham gia vào những buổi chia sẻ kinh nghiệm lập trình của các anh chị lớn trong phòng ban

+ Mở rộng kiến thức về các phương pháp kiểm thử tiên tiến hơn + Tham gia các lớp học tiếng Anh bổ túc (dành cho người đi làm) - Tuần 9, 10:

+ Cùng với các anh chị cải tiến dự án trên

+ Tham gia hoạt động team building với công ty ở Phan Thiết – Bình Thuận + Hoàn thành nốt bài báo cáo quá trình thực tập ở công ty

Trang 17

14

Chương 2 CƠ SỞ LÝ THUYẾT

2.1. Giới thiệu đề tài

- Trong thời đại số hóa ngày càng phát triển, ứng dụng web đóng vai trò quan trọng trong cuộc sống và công việc của chúng ta Để đảm bảo tính ổn định, hiệu quả và bảo mật của các ứng dụng web này, việc thực hiện kiểm thử tự động trở thành một phần quan trọng của quá trình phát triển phần mềm Để giúp đảm bảo chất lượng và độ tin cậy của các ứng dụng web, đề tài này tập trung vào nghiên cứu và đánh giá một số công cụ kiểm thử tự động phổ biến dành cho ứng dụng web

- Công tác kiểm thử tự động cho ứng dụng web không chỉ giúp tiết kiệm thời gian và nguồn lực mà còn đảm bảo rằng ứng dụng hoạt động một cách đáng tin cậy trên mọi nền tảng và trình duyệt Đồ án này sẽ tập trung vào việc xtôi xét và so sánh các công cụ kiểm thử tự động phổ biến như Selenium, Puppeteer, Cypress, Appium và nhiều công cụ khác Chúng ta sẽ đánh giá tính năng, hiệu suất, khả năng tùy chỉnh, và tích hợp của mỗi công cụ để xác định ưu điểm và hạn chế của chúng trong việc kiểm thử ứng dụng web

- Ngoài ra, đề tài cũng sẽ xtôi xét các phương pháp và kỹ thuật kiểm thử tự động, cũng như cách sử dụng các công cụ này để tạo ra các bộ kiểm thử tự động hiệu quả cho ứng dụng web cụ thể Mục tiêu cuối cùng là cung cấp một hướng dẫn chi tiết về cách chọn lựa và sử dụng các công cụ kiểm thử tự động phù hợp nhằm cải thiện quá trình phát triển và duyệt web, đồng thời đảm bảo chất lượng và độ tin cậy của các ứng dụng web

2.2. Kiểm thử tự động (Automation Testing) là gì?

- Kiểm thử tự động là một quy trình sử dụng các công cụ và phần mềm để thực hiện các bài kiểm tra tự động trên ứng dụng, hệ thống hoặc phần mềm mà không cần sự can thiệp trực tiếp từ con người Nó giúp tối ưu hóa việc kiểm tra chất lượng phần mềm thông qua việc tự động hóa các bước kiểm thử, giảm thiểu sai sót do con người và tăng tốc độ thực hiện kiểm thử.

Trang 18

15 Công việc kiểm thử tự động thường bao gồm các bước sau:

- Xác định phạm vi kiểm thử: Đầu tiên, nhóm kiểm thử xác định phạm vi của các chức năng, tính năng hoặc thành phần mà họ muốn kiểm tra tự động

- Lên kế hoạch và chuẩn bị: Xác định các kịch bản kiểm thử và tạo kịch bản hoặc tập lệnh để thực hiện kiểm thử Đây có thể là việc viết mã hoặc sử dụng các công cụ tự động hóa có sẵn - Triển khai các công cụ kiểm thử tự động: Sử dụng các công cụ và phần mềm kiểm thử tự động để thực hiện các kịch bản kiểm thử được xác định trước đó Các công cụ này có thể thực hiện các thao tác như click chuột, điền thông tin vào các ô nhập liệu, kiểm tra kết quả và so sánh chúng với kết quả mong đợi

- Chạy và theo dõi kết quả: Khởi chạy các bài kiểm tra tự động và theo dõi kết quả Các công cụ thường ghi lại thông tin về việc kiểm tra, bao gồm cả các lỗi phát sinh, để nhóm phát triển có thể xtôi xét và sửa chữa

- Tối ưu hóa và báo cáo: Dựa trên kết quả kiểm thử, nhóm có thể tối ưu hóa các kịch bản kiểm thử và tạo báo cáo về chất lượng phần mềm, số lượng lỗi tìm thấy và các vấn đề khác để cải thiện quy trình phát triển và chất lượng sản phẩm

2.3. Ưu điểm và nhược điểm của Kiểm thử tự động?

- Ưu điểm của kiểm thử tự động:

+ Tiết kiệm thời gian và chi phí: Tự động hóa kiểm thử giúp tiết kiệm thời gian so với kiểm thử thủ công, đặc biệt là trong việc lặp lại các bài kiểm tra Việc này dẫn đến giảm chi phí nhân lực và tăng hiệu suất làm việc

+ Tăng độ chính xác: Các công cụ kiểm thử tự động thực hiện các bài kiểm tra một cách nhất quán và không gặp sai sót như con người Điều này giúp tăng độ tin cậy của kết quả kiểm thử

+ Phù hợp với kiểm thử lặp đi lặp lại: Kiểm thử tự động hiệu quả khi cần kiểm tra hàng loạt chức năng, tính năng hoặc khi có sự thay đổi thường xuyên trong mã nguồn Nó có thể thực hiện nhiều lần mà không gặp sự mệt mỏi như con người

Trang 19

16 + Mở rộng được: Có thể tạo ra các kịch bản kiểm thử phức tạp và mở rộng hệ thống kiểm thử tự động dễ dàng khi cần thiết, bao gồm việc tích hợp với các công cụ quản lý kiểm thử và hệ thống quản lý mã nguồn

+ Đồng nhất hóa quy trình kiểm thử: Kiểm thử tự động giúp đảm bảo rằng các bài kiểm tra được thực hiện theo cách đồng nhất và chuẩn xác trên nhiều môi trường khác nhau - Nhược điểm của kiểm thử tự động:

+ Khó khăn trong việc tạo kịch bản kiểm thử ban đầu: Việc thiết kế và viết mã để tạo các kịch bản kiểm thử tự động ban đầu có thể tốn nhiều thời gian và cần kỹ năng kỹ thuật cao + Không thể thực hiện kiểm thử toàn diện cho mọi trường hợp: Có một số trường hợp đặc biệt hoặc phức tạp mà kiểm thử tự động không thể hoàn toàn bao phủ hoặc kiểm tra hiệu quả

+ Độ bảo trì: Khi ứng dụng thay đổi, các kịch bản kiểm thử tự động cũng cần phải được cập nhật và bảo trì để đảm bảo tính nhất quán với các thay đổi trong mã nguồn

+ Khả năng nhầm lẫn: Đôi khi, công cụ kiểm thử tự động có thể không nhận diện được các vấn đề hoặc lỗi mà con người có thể phát hiện được

+ Yêu cầu kỹ năng kỹ thuật cao: Việc sử dụng các công cụ kiểm thử tự động đòi hỏi kiến thức chuyên sâu về công nghệ và kỹ năng lập trình, điều này có thể tạo ra rào cản đối với những người không có kiến thức kỹ thuật sâu

2.4. So sánh điểm giống và khác nhau giữa Kiểm thử thủ công (Manual Testing) và Kiểm thử tự động?

- Điểm giống nhau:

+ Mục tiêu: cả kiểm thử thủ công và tự động đều hướng đến mục tiêu chung là đảm bảo rằng phần mềm được kiểm tra đáp ứng các yêu cầu chất lượng và hoạt động như mong đợi trước khi được phát hành

+ Cơ sở xác định kiểm thử: cả hai loại kiểm thử đều dựa vào tài liệu yêu cầu, các tài liệu

Trang 20

17 thiết kế và các nguồn tài liệu khác để xác định phạm vi và kịch bản kiểm thử

+ Ghi lại kết quả và báo cáo: cả kiểm thử thủ công và tự động đều yêu cầu việc ghi lại kết quả kiểm thử, ghi chép các lỗi hoặc vấn đề phát sinh và tạo báo cáo để thông báo về tình trạng kiểm thử và các vấn đề được phát hiện

- Điểm khác nhau:

Loại kiểm thử

Tiêu chí Kiểm thử thủ công Kiểm thử tự động

Phương pháp thực hiện

Thực hiện bởi con người: Kiểm thử thủ công là quá trình mà các người kiểm thử thực hiện bằng tay các

kịch bản kiểm thử và các thao tác kiểm tra theo các yêu cầu hoặc kịch bản đã được xác định trước Nhân viên kiểm thử tập trung vào việc kiểm tra từng chức năng, tính năng, giao diện người dùng và các yêu cầu trước để thực hiện các bài kiểm tra mà không cần sự can thiệp trực tiếp từ con người Các công cụ kiểm thử tự động thực hiện các thao tác như click chuột, nhập liệu, kiểm tra kết quả năng sáng tạo, linh hoạt trong việc kiểm tra các

Độ phủ và lặp lại: Kiểm thử tự động thích hợp cho việc kiểm tra lặp đi lặp lại và có thể cung cấp độ phủ

Trang 21

18 trường hợp không được dự

đoán trước

rộng hơn trong việc kiểm tra các trường hợp kiểm

thử

Chi phí và thời gian

Tốn kém về thời gian và chi phí: Việc thực hiện kiểm thử thủ công thường tốn kém về thời gian và lao

động hơn so với kiểm thử tự động, do cần nhiều nhân

lực và thời gian hơn

Tiết kiệm thời gian và chi phí: Kiểm thử tự động tiết kiệm thời gian và chi phí do quy trình được tự động hóa, giảm thiểu sai sót do con người và tăng tốc độ

thực hiện kiểm thử

2.5. Lí do chọn đề tài này để viết báo cáo?

Tôi lựa chọn viết báo cáo về nghiên cứu về kiểm thử tự động vì sự quan trọng và phổ biến của kiểm thử tự động trong ngành công nghiệp phần mềm ngày nay Trong quá trình thực tập và nghiên cứu, tôi nhận thấy rằng việc nắm vững về kiểm thử tự động không chỉ là một kiến thức quan trọng mà còn là một kỹ năng cần thiết

Kiểm thử tự động không chỉ giúp tối ưu hóa quy trình kiểm thử mà còn đóng vai trò quan trọng trong việc đảm bảo chất lượng và ổn định của phần mềm Việc hiểu sâu hơn về kiểm thử tự động sẽ giúp tôi áp dụng kiến thức vào thực tế và phát triển kỹ năng quan trọng cho sự nghiệp trong tương lai

Ngoài ra, nghiên cứu về kiểm thử tự động đòi hỏi sự sáng tạo và khám phá trong việc tạo ra các kịch bản kiểm thử, sử dụng công cụ và phần mềm kiểm thử Tôi quan tâm đến cách công nghệ có thể giúp tối ưu hóa quy trình kiểm thử và làm thế nào nó có thể cải thiện hiệu suất và chất lượng phần mềm

Cuối cùng, việc nghiên cứu về kiểm thử tự động không chỉ giúp tôi có kiến thức sâu về quy trình phát triển phần mềm mà còn đóng góp vào ngành công nghiệp, đảm bảo chất lượng và đáng tin cậy của các sản phẩm phần mềm

Trang 22

19 Tôi tin rằng việc viết báo cáo về kiểm thử tự động sẽ mang lại cho tôi những kiến thức quý báu và kỹ năng cần thiết để thành công trong ngành công nghiệp phần mềm

2.6. Công cụ kiểm thử tự động Selenium

- Selenium là gì:

+ Selenium là một bộ công cụ tự động hóa web, dưới dạng nguồn mở miễn phí tận dụng sức mạnh của trình duyệt web và giúp tự động hóa quy trình công việc về cách người dùng tương tác với ứng dụng web trong trình duyệt

+ Selenium đang dẫn đầu bảng trong danh sách các công cụ Tự động hóa web và Kiểm tra tự động hóa Cuộc khảo sát dưới đây do Katalon thực hiện mô tả mức độ phổ biến của

Trang 23

20 Hình 1-4 Các thành phần chính của Selenium

+ Selenium IDE: là một tiện ích mở rộng của trình duyệt cho phép Record và Playback lại các hành động của người dùng Nó có sẵn cho Google Chrome, Mozilla Firefox và Microsoft Edge

Selenium Grid: +

▪ Selenium Grid quản lý nhiều môi trường từ một điểm trung tâm, giúp dễ dàng chạy thử nghiệm Selenium WebDriver trên nhiều trình duyệt/ hệ điều hành

▪ Nhằm mục đích:

• Cung cấp một cách dễ dàng để chạy thử nghiệm song song trên nhiều máy • Cho phép thử nghiệm trên các phiên bản trình duyệt khác nhau

• Bật thử nghiệm đa nền tảng Selenium WebDriver: +

• Selenium WebDriver thực hiện lệnh gọi trực tiếp đến trình duyệt bằng cách sử dụng hỗ trợ tự động hóa riêng của từng trình duyệt

• Selenium WebDriver được khuyến nghị là một WebDriver được thiết kế như một giao diện lập trình đơn giản và ngắn gọn hơn, là một API hướng đối tượng nhỏ gọn và điều

Trang 24

21 khiển trình duyệt một cách hiệu quả

- Ưu điểm của Selenium IDE:

+ Chỉ thiết kế để tạo nguyên mẫu thử nghiệm

+ Không hỗ trợ cho các hoạt động lặp lại và có điều kiện + Thực thi test chậm so với Selenium RC và WebDriver 2.7. Nguyên do tại sao nên sử dụng Selenium?

- Selenium là một công cụ để tự động kiểm tra trên nhiều trình duyệt web.

Selenium WebDriver hỗ trợ nhiều trình duyệt khác nhau, bao gồm Google Chrome, Firefox, Safari và Internet Explorer, đồng thời cho phép bạn tự động hóa việc kiểm tra trình duyệt trên các trình duyệt khác nhau một cách đơn giản

- Sau đây là một số ưu điểm, mô tả lý do tại sao hầu hết mọi người chọn Selenium thay vì các công cụ kiểm tra:

Trang 25

22 • Đảm bảo tính linh hoạt và minh bạch của quy trình vòng đời phát triển phần mềm (SDLC) giữa các nhóm đa chức năng

• Cung cấp ít sự tham gia của phần cứng.

• Là mã nguồn mở và không phụ thuộc vào nền tảng.

• Có giao diện thân thiện với người dùng giúp dễ dàng xây dựng và thực thi các tập lệnh thử nghiệm

• Cung cấp khả năng hiển thị tuyệt vời để thử nghiệm các ứng dụng đầu cuối 2.8. Chương trình đầu tiên với Nunit Test trong Selenium C#:

Điều kiện tiên quyết để thiết lập Nunit Framework: • Install Visual Code

• Install dotnet SDK

• Setup Visual Code for Net Development

• Install Selenium and Selenium Support Library from Nuget package • Install Browser Drivers from Nuget package

Đầu tiên chúng ta sẽ tạo một project mới trên Visual Code: Open Terminal Window và thực hiện lệnh sau: dotnet new nunit -o NunitFW

Hình 2-3 Tạo project trên Visual Code => Sau đó xóa 2 file: UnitTest1.cs và Usings.cs

Tiếp đến cài đặt các Extensions như: Nuget Gallery, C# Extensions

Trang 26

23 Hình 2-4 Cài đặt Nuget Gallery Extension

Hình 2-5 Cài đặt C# Extensions

Sau đó dùng tổ hợp phím Ctrl + Shift + P để mở command Palette và nhấn vào NuGet : Open NuGet Gallery

Trang 28

25 Hình 2-8 Cấu hình file BaseTest.cs

Tiếp đến tạo thêm file Hooks.cs như sau:

Hình 2-9 Cấu hình file Hooks.cs

Trang 29

26 Tạo thêm file BasePage.cs để chứa các hàm với mục đích tương tác với web eltôient

Hình 2-10 Cấu hình file BasePage.cs

Tạo một file LoginPage.cs để chứa các locator của page cần test và các hàm tương tác với page:

Trang 30

27 Hình 2-11 Cấu hình file LoginPage.cs

Sau cùng tạo thêm file TestLogin.cs để chạy chương trình này:

Hình 2-12 Cấu hình file TestLogin.cs Chạy lệnh dotnet test trên Terminal để chạy test

Ngày đăng: 13/04/2024, 21:16