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

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

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 (1.73 MB, 61 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

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

---

<b>ĐINH THÁI SƠN </b>

AUTOMATION TESTING

<b>BÁO CÁO THỰC TẬP TỐT NGHIỆP </b>

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

<b>Thành phố Hồ Chí Minh – Năm 20</b>23

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

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

---

<b>ĐINH THÁI SƠN </b>

AUTOMATION TESTING

<b>BÁO CÁO THỰC TẬP TỐT NGHIỆP </b>

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

<b>Thành phố Hồ Chí Minh – Năm 20</b>23

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

1

<b>LỜI CÁM ƠN </b>

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à ln 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 q 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!

<b>Too long to read onyour phone? Save</b>

to read later on your computer

Save to a Studylist

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

HTML HyperText Markup Language DOM Document Object Model AC Acceptance Criteria <b>DANH MỤC HÌNH VẼ </b> 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

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="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 Tố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 Tố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

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="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 với tài khoản Admin ... 47

Hình 4-22. Giao diện Admin Home của site ... 48

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="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

<b>Chương 1. GIỚI THIỆU VỀ CƠ QUAN THỰC TẬP </b> 1.1.<b> Giới thiệu khái quát về công ty SAGOTIC JSC</b> - 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:

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

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

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

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à ngồ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.

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="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 tồ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.<b> Chức năng và nhiệm vụ của công ty</b>

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.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

10 - Thi công lắp đặt hệ thống điện, hệ thống cấp, thố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 bn gạch xây, ngói, đá, cát, sỏi. Bán bn 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ỏ

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="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.<b> Tổ chức bộ máy quản lý của cơng ty</b>

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

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="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.<b> Những việc làm được phân công tại công ty</b>

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

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="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. + Hồn thành nốt bài báo cáo q trình thực tập ở công ty.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

14

<b>Chương 2. CƠ SỞ LÝ THUYẾT </b>

2.1.<b> Giới thiệu đề tài</b>

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

- Ngồ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.<b> Kiểm thử tự động (Automation Testing) là gì?</b>

- 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ử.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="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.<b> Ưu điểm và nhược điểm của Kiểm thử tự động?</b>

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

+ 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.

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="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. - <b>Nhược điểm của kiểm thử tự động:</b>

+ 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ể hồ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.<b> So sánh điểm giống và khác nhau giữa Kiểm thử thủ công</b> (Manual Testing) <b>và Kiểm thử tự động? </b>

- <b>Điểm giống nhau:</b>

+ 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

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="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.

- <b>Điểm khác nhau:</b>

<b>Loại kiểm thử </b>

Tiêu chí <b>Kiểm thử thủ cơng Kiểm thử tự động </b>

<b>Phương pháp thực hiện </b>

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ủ

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

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

đốn trước.

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

thử.

<b>Chi phí và thời gian </b>

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.<b> Lí do chọn đề tài này để viết báo cáo?</b>

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 q 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.

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="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.<b> Công cụ kiểm thử tự động Selenium</b>

- 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

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

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

- <b>Ưu điểm của Selenium</b> 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.<b> Nguyên do tại sao nên sử dụng Selenium?</b>

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

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="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.<b> Chương trình đầu tiên với Nunit Test trong Selenium C#:</b>

Đ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

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="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:

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="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.

</div>

×