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 - Tuan 1, 2: + Tìm hiểu về nguyên lý hoạt động của các công cụ tự đ
Trang 1BAO CAO THUC TAP TOT NGHIEP
Ngành: Công Nghệ Thông Tin Hướng chuyên ngành: Mạng máy tính Lớp: DHI9CS02
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS Nguyễn Thị Mai Trang
Thành phố Hồ Chí Minh — Nam 2023
Trang 2
BAO CAO THUC TAP TOT NGHIEP
Ngành: Công Nghệ Thông Tin Hướng chuyên ngành: Mạng máy tính Lớp: DHI9CS02
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS Nguyễn Thị Mai Trang
Thành phố Hồ Chí Minh — Nam 2023
Trang 4
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à tỉnh 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 xm chân thành cám ơn!
Trang 5DANH GIA KET QUA THUC TAP CUA KHOA
Trang 6MỤC LỤC
ĐÁNH GIA KÉT QUÁ THỰC TẬP CỦA KHOA 5-2 2 2 <+c+z se cereesreeee 2 7.91); 10 Số \ A15 i8 NNH ".: Ô 3 D9):810/98:)0):014) 0177 .dđgH|Ä 4 Chương l 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 5-+ sc<c+<<s+s 7 1.2 Lịch sử hình thành và phát triỂT -2-5- +2 ++ec+£+s+e£+z+z+e£zszezezszx+s 8 1.3 Chức năng và nhiệm vụ của cÔng ty - SH HH» nh 8
001,1 821991900/):00021 02 14 Chương 3 QUÁ TRÌNH THỰC TẬP -+ 5-5-2 +++s+e££+EzEveeErereezrrreerrrsrsrecee 29
4.2 Sử dụng Selenium IDE để thực hiện kiểm thử tự động 44
Trang 70n 84.0 016 .HĂ,H ÔỎ 56
DANH MUC TU VIET TAT
Y nghia
nguage
DANH MUC HINH VE
Hình 1-2 Sơ đồ bộ máy quản lý của SAGOTIC JSC 7-<5csce<+eseezreerereerersrs 11 Hình 2-1 Danh sách các công cụ kiểm thử phô biến .- 5 + 5-22 <+<+<+s£+sz<zezzzzezeesescse 19
Hình 2-3 Tạo proJect trên Visual O© - HH TS HH nọ KH gu 22
Trang 8Hình 2-7 Cài đặt các package HH ok kh 24
Hình 2-9 Cầu hình file Hooks.cs - + +52 +2222£+E+E+E++E£EEeEeEcveEeErxerrrsrkreersrrrrreerecee 25
Hình 2-11 Cấu hình file LoginPage.œs - 552 2222++S+*+e+eexezEeEereeersrrrrerereersrerrrre 26
Hình 2-12 Cầu hình file Tes†LOgÏF\.CS . -¿- 2 5 St St S2 ESEEEEEEkeeErkrsrsrsrkrkrkrkrrrr 27
Hình 2-13 Màn hình test được hiền thị - ¿5c 5+ S2SE‡EEESEkEEEEEEEEEEEkErrrrrrkrrrrii 27
Hình 3-3 Giao diện phần Quản lý Thanh Toán (Admin UI) -. 2-5-5 <e<<<+s=s<+<zs+s 30 Hình 3-4 Giao diện phần Quản lý nhân viên ¿5+ +2 ++2+s++z£+ezeezeeeerrrrrsreesrrerers 31
Hình 3-10 Giao diện phần Thống kê Doanh Thu (Admin U]) - -s<+<z<<=-<<+ 34
Trang 9Hình 4-2, 4-3 Code của phần AdminController.java -2- -22++<+s+e<e£+szes+szs+zcss2 37
Hình 4-4 Code của phần UserController.java -. 2-57-2252 s+s+s<+z+>£z£zseezeeeeerzersescee 38
Hình 4-5 Code của phần StaffController.java - 5-7-5252 s+s+e+e+e+eEeeeeezeeerrrersrsescee 38
Hình 4-6, 4-7 Code của phần IndexController.java - 2-2-2522 <+s+s<+<++exeszsezezezxes 39
Hình 4-8, 4-9 Code của phần ApiDishController.jaa - 5-5 55+s+e£+s+s=ze+eeexeeeseeeseee 40
Hình 4-10 Code của phần ApiAdminController.jaVa 5-2 se <+s+s+sczszezeszszzeeeesescse 41
Hình 4-11 Giao điện Form chính dùng đề test các chức năng của dự án ứng với từng button
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_ TestLogim) Ăn 43
Hình 4-14 Code cua button Test Đăng Ký (btn_ TestReglIster) Ăn 43
Hình 4-18 Giao điện Admin Hơme khi truy cập vào Admin Dashboard ‹ 45
Hình 4-19 Giao diện phần Setup Giuide - +22 s+2+<++E+t++E+EezEeerkrkeeereerrrerereersreee 46
Hình 4-21 Giao diện site h†tps://stage.moosocial.com/php81/moo-320/ với tài khoản Admin
Hình 4-22 Giao dién Admin Home cua site https://stage.moosocial.com/php81/moo-320/
Trang 10Hình 4-23 Thêm mới những users đề thực hiện test được thuận lợi ¿5-5 =5 48 Hình 4-24 Đăng nhập vào userl đề 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 . - 2< S121 n*2 1n HT HH nếp 49
Hình 4-26 Thêm extension Selenium IDE cho Google và khởi chạy . -«‹ 50
Hình 4-30 Test đăng nhập - TeSt CaS€ Ö .QQQ LH HH TH HH kh 52
Hình 4-33 Test chức năng post bài viết - Tes† CaS@ Ẳ - 7-2 S222 se szeezeeerrrrrsree 55
Hình 4-34 Test chức năng post bài viết - TeS† Ca§@ 2 5-2-2522 S+c+c+e+errerezrrrrrrree 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 — Dau Tu — Xây Dựng - Phát Triển Sài Gòn
(SAGOTIC JSC)
- Dia chi: Toa lac tai s6 262/12 Lé Van S¥ - Phường 14 - Quận 3 - TP.HCM
- Logo của công ty:
Trang 111.2
Hình 1-7 7ogo của S4GOT1C JSC
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
Va đượ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
đặt tại số 09 đường Yersin - Tp.Nha Trang - Tỉnh Khánh Hòa
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 — Duong s6 8 — KCN Tan Tạo - Quận Bình Tân - Tp.HCM
Trang 12— Giá thành hợp ly ”
Đế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
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à đâ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 dan dé 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 trinh dân dụng, công nghiệp, giao thong
Trang 13- 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 may vi tinh
- 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ỏ
10
Trang 14- Sản xuất giường, tủ, bàn, phế băng gỗ, sản xuất đồ chơi, trò chơi ( không hoạt động tại
r
PGD THUONG TRỰC
: ^ PHÒNG KẾ HOẠCH PHONG KE TOAN HANH
PHONG THI CONG VAT TU CHANH
r
CHÍ HUY TRƯỞNG CÔNG TRƯỜNG
|
ĐỘI THỊ CÔNG THÉP CAC DON VI LIEN KET
ĐÔI XD ĐÔI CƠ GIỚI
Trang 15
1.6
-_ 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 I8 giờ
+ Thời gian nghỉ trưa: từ 12 giờ đến 13 giờ 30
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ó 75% tự học và 25% là được training, tim hiểu về kiến 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
- Tuan 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 va duge chi 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:
12
Trang 16+ 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à hang)
- Tuan 7, 8:
+ Tìm hiểu xây dựng, thiết kế database va 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
13
Trang 17Chương 2 CƠ SỞ LÝ THUYÉT
2.1
2.2
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 Dé dam 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 x†Ô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
Kiểm thử tw dong (Automation Testing) la gi?
- 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ử
14
Trang 18Công việc kiêm thử tự động thường bao gôm các bước sau:
- Xác định phạm vị kiêm thử: Đâu tiên, nhóm kiêm thử xác định phạm vị 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 dé thực hiện kiêm thử Day 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 6 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ê x†Ô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 ban kiêm thử và tạo báo cáo về chat 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 phi 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
15
Trang 192.4,
+ 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
đượ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:
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
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
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
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
16
Trang 20thiệ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ề tinh trạng kiêm thử và các van đê được phát 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 khác của phần mềm một cách thủ công
Thực hiện bằng công cụ và phần mềm: Kiểm thử tự động sử dụng các công cụ
và kịch bản đã được viết 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ả
và so sánh chúng với kết quả mong đợi
Tính linh hoạt và độ phủ
Người kiêm thử có khả
năng sáng tạo, linh hoạt
Trang 212.5
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 phi va thoi gian
chỉ 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
phí: Kiểm thử tự động tiết kiệm thời gian và chi phi
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 độ
Lí do chọn đề tài này dé viet bao cao?
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
18
Trang 22Tô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
Công cụ kiểm thứ tự động Selenium
- Selenium 1a gi:
+ Selenium là một bộ công cụ tự động hóa web, dưới dang 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 Selenium:
Automation Tools used
TestComplete
Rational Functional Tester Ranorex Test Studio Watir
Trang 23Hinh 1-4 Các zhành phân chính của Seleniuim
Selenium IDE: là một tiện ích mở rộng của trình duyệt cho phép Record va Playback lại các hành động của người dùng Nó có sẵn cho Google Chrome, Mozilla Firefox và
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 thuc 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
Selentum WebDriver duoc khuyén nghi la mét WebDriver duoc 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
20
Trang 24khiển trình duyệt một cách hiệu quả
- Uu diém cia Selenium IDE:
+ Dé dang str dung va cai dat
+ Không yêu cầu kinh nghiệm lập trình, thông qua kiến thức về HTML và DOM là cần thiết
+ Có thế xuất các test sang định dạng có thẻ sử dụng được trong Selenium RC và
WebDriver
+ Có module báo cáo kết quả kiểm tra và trợ giúp tích hợp
+ Cung cap cac extension hỗ trợ
- Nhược điểm của Selenium |DE:
+ Chỉ có sẵn trên Firefox
+ 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 Selenrun RC va WebDriver
Selenium WebDriver hỗ trợ nhiều trình duyệt khác nhau, bao gồm Google Chrome, Firefox, Safari va 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:
21
Trang 252.8
« - Đả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
- _ 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 thí các tập lệnh thử nghiệm
« _ Cung cấp khả năng hiển thị tuyệt vời dé thử nghiệm các ứng dụng đầu cuối
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ẽ tao mét project moi trén Visual Code: Open Terminal Window và thực hiện lénh sau: dotnet new nunit -o NunitFW
Hinh 2-3 Tao project trén Visual Code
=> Sau do x6a 2 file: UnitTestl.cs va Usings.cs
Tiép dén cai dat cac Extensions nhu: Nuget Gallery, C# Extensions
22
Trang 27sau:
Dev Containers: Remove Unused Volumes
Enum
File: New Untitled File
Help: Signup for the VS Code Newsletter
NuGet Package Manager: Add Package
NuGet Package Manager: Remove Package
NuGet: Open NuGet Gallery
Show Remote Menu
: Open Next Recently Used Editor /: Open Next Recently Used Editor In Group
od rats Include=
Hình 2-7 Cài đặt các package Tiến hành tạo thêm một file BaseTest.cs như sau:
Trang 29Tạ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
IWebDriver weboriver;
WebDriverWait wait;
(IMebpriver driver) webdriver = driver;
wait = new WebDriverWait(driver,
Hình 2-70 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:
II,
public clas
private By _emailTxtBoxBy = By.Td(
ID TT (nã (
private By _loginBtnBy = By.XPath(
private By _errormes LblBy = By.XPath(
public LoginPage(IWebpriver driver) : base(driver) {}
wail(string email)
emailTxt8oxBy, email);
yord(string password) xt(_passwordTxtBoxBy,
Trang 30Hình 2-77 Cau hinh file LoginPage.cs Sau cùng tạo thêm file TestLogin.cs để chạy chương trình nay:
Ân updatetl internal design delivers better thermal efficiency, so you can stay in the action lonqer
27