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

BÀI tập lớn xây DỰNG ỨNG DỤNG WEB AN xây DỰNG ỨNG DỤNG WEB AN TOÀN đề tài KIỂM THỬ ỨNG DỤNG TRÊN nền WEB BẰNG CÔNG cụ KATALON STUDIO

90 42 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Kiểm Thử Ứng Dụng Trên Nền Web Bằng Công Cụ Katalon Studio
Tác giả Nguyễn Văn Minh Hoàng, Phạm Thị Thương Mến, Thiều Thùy Trang Nữ, Trần Võ Anh Thư, Phan Văn Sự
Người hướng dẫn ThS. Hoàng Thanh Nam
Trường học Học Viện Kỹ Thuật Mật Mã
Chuyên ngành Xây Dựng Ứng Dụng Web An Toàn
Thể loại Bài Tập Lớn
Năm xuất bản 2019
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 90
Dung lượng 1,99 MB

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

Nội dung

Katalon Studio là một trong những công cụ hỗ trợ kiểm thử tự động tốt nhất hiện nay cho các ứng dụng Web, hoạt động trên hầu hết các trìnhduyệt phổ biến như Firefox, Chrome, Internet Exp

Trang 1

BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA: AN TOÀN THÔNG TIN

BÀI TẬP LỚN MÔN HỌCXÂY DỰNG ỨNG DỤNG WEB AN

Đề tài:

KIỂM THỬ ỨNG DỤNG TRÊN NỀN WEB BẰNG CÔNG CỤ

KATALON STUDIO

Giảng viên hướng dẫn:

Giảng viên hướng dẫn: ThS Hoàng Thanh NamThS Hoàng Thanh NamSinh viên thực hiện:

Sinh viên thực hiện: Nguyễn Văn Minh HoàngNguyễn Văn Minh Hoàng

Phạm Thị Thương MếnThiều Thùy Trang NữTrần Võ Anh ThưPhan Văn Sự Lớp:

Lớp: AT12LAT12LKhóa:

Khóa: 1212

Trang 2

BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA: AN TOÀN THÔNG TIN

BÀI TẬP LỚN MÔN HỌCXÂY DỰNG ỨNG DỤNG WEB AN

Đề tài:

KIỂM THỬ ỨNG DỤNG TRÊN NỀN WEB BẰNG CÔNG CỤ

KATALON STUDIO

Giảng viên hướng dẫn:

Giảng viên hướng dẫn: ThS Hoàng Thanh NamThS Hoàng Thanh NamSinh viên thực hiện:

Sinh viên thực hiện: Nguyễn Văn Minh HoàngNguyễn Văn Minh Hoàng

Phạm Thị Thương MếnThiều Thùy Trang NữTrần Võ Anh ThưPhan Văn Sự Lớp:

Lớp: AT12LAT12LKhóa:

Khóa: 1212

TP Hồ Chí Minh, tháng 8 năm 2019

Trang 3

LỜI MỞ ĐẦU Ngày nay, công nghệ thông tin nói chung và công nghệ phần mềm nóiriêng đang chiếm một vị trí quan trọng trong tiến trình công nghiệp hoá,hiện đại hoá đất nước Song song với việc phát triển công nghệ phần mềmluôn tiềm ẩn những thách thức cho dành các doanh nghiệp, nhà phát triển phần

 phần mềm mềm trong trong việc việc kiểm kiểm soát soát lỗi, lỗi, chất chất lượng lượng đầu đầu ra ra của của sản sản phẩm.phẩm. Nguyên nhân

 Nguyên nhân gây thiệt hại gây thiệt hại về kinh về kinh tế và xã tế và xã hội trong phần hội trong phần mềm không mềm không chỉchỉ

là lỗi về bảo mật mà còn là lỗi về một chức năng nào đó trong sản phẩm

Kiểm thử phần mềm là một quá trình liên tục, xuyên suốt mọi giaiđoạn phát triển phần mềm để đảm bảo rằng phần mềm thỏa mãn yêu cầuthi

thiết kế ết kế và yêu và yêu cầu đó đáp cầu đó đáp ứng đượứng được nhu c nhu cầu của ngườcầu của người sử i sử dụndụng Các kỹg Các kỹthuật kiểm thử phần mềm đang được nghiên cứu và việc kiểm thử phầnmềm trở thành quy trình bắt buộc trong các dự án

mềm trở thành quy trình bắt buộc trong các dự án phát triển phần mềm trênphát triển phần mềm trênthế giới Ngày nay xu hướng áp dụng tự động hoá đang được triển khairộng rãi ở nhiều lĩnh vực, trong đó có kiểm thử phần mềm Đặc biệt, khikiểm thử phần mềm là công đoạn chiếm phần lớn thời gian trong quá trình phát triển

 phát triển dự án dự án phần mềm phần mềm thì sự rthì sự ra đời a đời của các của các công cụ công cụ kiểm thử tự kiểm thử tự độngđộngcàng có ý nghĩa hơn bao giờ hết, giúp tiết kiệm thời gian, công sức và tiền bạc

Katalon Studio là một trong những công cụ hỗ trợ kiểm thử tự động

tốt nhất hiện nay cho các ứng dụng Web, hoạt động trên hầu hết các trìnhduyệt phổ biến như Firefox, Chrome, Internet Explorer, Safari, v.v Công

cụ cũng như hỗ trợ số lượng lớn các ngôn ngữ lập trình Web phổ biến

Với mong muốn được tìm hiểu sâu về lĩnh vực kiểm thử phần mềmcũng như bổ sung thêm kiến thức cho lĩnh vực kiểm thử và bảo mật, nhómchúng em đã chọn đề

chúng em đã chọn đề tài “Kiểm thử ứng dụng trên nền Web bằng công cụtài “Kiểm thử ứng dụng trên nền Web bằng công cụKatalon Studio.” Trong quá trình làm đồ án môn học, do còn hạn chế vềthời gian và kinh nghiệm thực tế, nhóm chúng em mong nhận được nhữnggóp ý chân thành từ thầy cô và các bạn

Đề tài giới thiệu về lý thuyết kiểm thử ứng dụng, các công cụ hỗ trợ 

Trang 4

kiểm thử tự động Ngoài ra, đề tài đi sâu vào việc tìm hiểu, sử dụng cáctính năng, công cụ của bộ phần mềm Katalon Studio như:

Đưa ra hướĐưa ra hướng dẫn cài đặng dẫn cài đặt, sử dụng ht, sử dụng hiệu quả bộ côniệu quả bộ công cụ.g cụ

Ứng dụng cáỨng dụng các kiến thức kiến thức đã học được để viếc đã học được để viết một kịct một kịch bản kiểm thh bản kiểm thửửcho ứng dụng cụ thể

Đồ án được tổ chức làm 5 phần như sau:

Mở đầu: Trình bày rõ lý Mở đầu: Trình bày rõ lý do chọn đề tài, mục tido chọn đề tài, mục tiêu nghiên cứu đồ ánêu nghiên cứu đồ án

độ nghiêm trọng của lỗi khi xảy ra

ChươnChương 2: Kiểm thử ứng dụng 2: Kiểm thử ứng dụng trên nền Web bằng công cụ Katg trên nền Web bằng công cụ KatalonalonStudio Giới thiệu chung về Katalon Studio, các cài đặt và

Studio Giới thiệu chung về Katalon Studio, các cài đặt và sử dụng bộ côngsử dụng bộ công

cụ, ứng dụng thực tế với

cụ, ứng dụng thực tế với Katalon Studio.Katalon Studio

ChưChương 3: Giới thiơng 3: Giới thiệu bài toán và tiến hành demo thựệu bài toán và tiến hành demo thực c nghnghiệm vớiiệm vớicông cụ Katalon Studio

Kết luận: Phần này đưKết luận: Phần này đưa ra những kết quả đồ án a ra những kết quả đồ án đạt được, nhữngđạt được, nhữngthiếu sót chưa thực hiện được và hướng phát triển đề tài trong tương lai

Trang 5

LỜI CẢM ƠN

Chúng em xin chân thành cảm ơn thầyChúng em xin chân thành cảm ơn thầy Hoàng Thanh NamHoàng Thanh Nam đã chỉ bảo tậnđã chỉ bảo tậntình và giúp đỡ chúng em trong

tình và giúp đỡ chúng em trong suốt quá trình làm đồ án môn họsuốt quá trình làm đồ án môn học Với sự hướngc Với sự hướngdẫn của thầy, nhóm chúng em đã

dẫn của thầy, nhóm chúng em đã có những định hướng tốt trong việc triển khaicó những định hướng tốt trong việc triển khai

và thực hiện các yêu cầu làm bài tập lớn trong môn học

 Nhóm Sinh viên thực hiện

Trang 6

MỤC LỤC

DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU 1

DANH MỤC TỪ VIẾT TẮT 4

CHƯƠNG 1: KIỂM THỬ ỨNG DỤNG TRÊN NỀN WEB 5

1.1 Khái Khái quát quát về k về kiểm iểm thử thử ứng ứng dụng dụng trên n trên nền W ền Web eb 5

1.1.1 1.1.1 Khái Khái quát quát 5

1.1.2 1.1.2 Các Các loại loại ứng ứng dụng dụng Web Web 5

1.1 1.1.3 .3 Đặc đ Đặc điểm về ch iểm về chất lượ ất lượng củ ng của một ứn a một ứng dụng t g dụng trên nền W rên nền Web eb 6

1.1.5 1.1.5 Khái Khái niệm niệm về về Ca Ca kiểm kiểm thử thử 11

1.1 1.1.6 .6 Các mức Các mức độ nghiê độ nghiêm m trọ trọng ng của lỗi của lỗi 13

1.2 Kiểm Kiểm thử thử tự tự động động và và kiểm kiểm thử thử thủ thủ công công 14

1.2.1 1.2.1 Khái Khái niệm niệm 14

1.2.2 1.2.2 Đặc Đặc điểm điểm 14

1.3 Công Công việc việc chính chính khi khi kiểm kiểm thử thử ứng ứng dụng dụng Web Web 18

1.3.1 1.3.1 Kiểm Kiểm thử thử chức chức năng năng 18

1.3.2 1.3.2 Kiểm Kiểm thử thử khả khả năng năng sử sử dụng dụng 20

1.3.3 1.3.3 Kiểm Kiểm thử thử sự sự tương tương thích thích 21

1.3.4 1.3.4 Kiểm Kiểm thử thử hiệu hiệu suất suất 22

1.3.5 1.3.5 Kiểm Kiểm thử thử bảo bảo mật mật 22

1.4 Một Một số c số công ông cụ h cụ hỗ tr ỗ trợ kiể ợ kiểm th m thử ứn ử ứng dụ g dụng tr ng trên nền ên nền Web Web 23

1.4.1 1.4.1 Công Công cụ cụ kiểm kiểm thử thử hiệu hiệu năng năng 23

1.4.2 1.4.2 Công Công cụ cụ kiểm kiểm thử thử bảo bảo mật mật 24

1.4.3 1.4.3 Công Công cụ cụ kiểm kiểm thử thử chức chức năng năng 24

CHƯƠNG 2: KIỂM THỬ ỨNG DỤNG CHƯƠNG 2: KIỂM THỬ ỨNG DỤNG TRÊN NỀN WEB BẰNG CÔNG CỤ KATALON TRÊN NỀN WEB BẰNG CÔNG CỤ KATALON STUDIO 25

2.1 Giới Giới thiệu thiệu về về Katal Katalon on Studi Studio o 25

2.2 Các Các tính tính năng năng chính chính của của Kata Katalon lon Studi Studio o 26

2.3 Làm Làm việc việc với với Katalo Katalon n Studi Studio o 26

2.4 Quy Quy trình trình làm làm việc việc của của Katal Katalon on Stud Studio io 27

2.5 So s So sánh ánh các các công công cụ k cụ kiểm th iểm thử tự ử tự động động 28

CHƯƠNG 3: TIẾN HÀNH CÀI ĐẶT VÀ DEMO THỰC NGHIỆM VỚI CÔNG CỤ KATALON STUDIO 33

3.1 Cài Cài đặt đặt và và cấu cấu hình hình 33

3.1.1 3.1.1 Cách Cách cài cài đặt đặt 33

3.1.2 3.1.2 Cấu Cấu hình hình 34

Trang 7

3.2 Một Một số số chức chức năng năng trong trong Katalo Katalon n Stud Studio io 36

3.3 Cách Cách viết viết một một kịch kịch bản bản với với Katal Katalon on Studi Studio o 37

3.3 3.3.1 .1 Các Cách ch h chụp đ ụp đối t ối tượn ượng trê g trên mà n màn hì n hình h nh hay c ay còn g òn gọi l ọi là lấy à lấy ID c ID của đố ủa đối tượ i tượng ng 37

3.3 3.3.2 .2 Các Cách ch h chụp đ ụp đối t ối tượn ượng trê g trên mà n màn hì n hình h nh hay c ay còn g òn gọi l ọi là lấy à lấy ID c ID của đố ủa đối tượ i tượng ng 39

3.3 3.3.3 .3 Mộ Một số plugi t số plugin hỗ trợ kiểm thử ứng dụn n hỗ trợ kiểm thử ứng dụng Web g Web 41

3.4 Bài Bài toán toán thực thực tế tế

45 3.4.1 3.4.1 Giới Giới thiệu thiệu bài bài toán toán 45

3.4 3.4.2 .2 Kiể Kiểm thử m thử chứ chức năn c năng đăn g đăng ký, đ g ký, đăng ăng nhậ nhập ch p cho sử d o sử dụng K ụng Katal atalon St on Studi udio o 46

TÀI LIỆU THAM KHẢO 64

PHỤ LỤC 65

I Danh Danh sách sách các các repor report tro t trong q ng quá t uá trình k rình kiểm t iểm thử hử 65

I Mã S Mã Script cript của của các te các test ca st case se 68

Trang 8

DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU

Bảng 1 1 So sánh ưu nhược của kiểm thử thủ côn Bảng 1 1 So sánh ưu nhược của kiểm thử thủ công và kiểm thử tự động g và kiểm thử tự động 15 15

Bảng 2 1 So sánh tính năng Katal Bảng 2 1 So sánh tính năng Katalon Studio với công cụ khác on Studio với công cụ khác 30 30 Bảng 2 2 So sánh ưu nhược điểm của Katal

Bảng 2 2 So sánh ưu nhược điểm của Katalon Studio với một số công cụ on Studio với một số công cụ 31 31

Bảng 3 1 Các yêu cầu Bảng 3 1 Các yêu cầu hệ thống khi cài đặt Katalon Studio 34 hệ thống khi cài đặt Katalon Studio 34 Bảng 3 2 Danh sách trình duyệt hỗ trợ Katalon Studio Bảng 3 2 Danh sách trình duyệt hỗ trợ Katalon Studio 35 35 Bảng 3 3 Danh sách mobile hỗ trợ Katal

Bảng 3 3 Danh sách mobile hỗ trợ Katalon Studio on Studio 35 35 Bảng 3 4 Một số chức năng trong Katalon Studio 37

Bảng 3 5 Ca kiểm thử trường hợp nhập thi

Bảng 3 5 Ca kiểm thử trường hợp nhập thiếu tên đăng ký ếu tên đăng ký 48 48 Bảng 3 6 Ca kiểm thử trường hợp nhập sai th

Bảng 3 6 Ca kiểm thử trường hợp nhập sai thông tin đăng nhập ông tin đăng nhập 51 51 Bảng 3 7 Ca kiểm thử trường hợp đăng nh

Bảng 3 7 Ca kiểm thử trường hợp đăng nhập và sửa tài khoản ập và sửa tài khoản 59 59

Hình 1 1 Quy trình kiểm thử phần mềm 8 Hình 1 2 Minh họa mẫu ca kiểm thử đơn giản

Hình 1 2 Minh họa mẫu ca kiểm thử đơn giản 12 12 Hình 1 3 Phân loại mức độ nghiêm trọn

Hình 1 3 Phân loại mức độ nghiêm trọng của lỗi g của lỗi 13 13 Hình 1 4 Kiểm thử thủ công

Hình 1 4 Kiểm thử thủ công 14 14 Hình 1 5 So sánh phạm vi test tự động về rủi ro chất lượ

Hình 1 5 So sánh phạm vi test tự động về rủi ro chất lượng sản phẩm ng sản phẩm 16 16 Hình 1 6 So sánh chi phí kiểm thử thủ công và kiểm thử tự động 17

Hình 3 1 Chọn phiên bản cài đặt Katalo Hình 3 1 Chọn phiên bản cài đặt Katalon Studio n Studio 33 33 Hình 3 2 Thêm addon Katalon Studio vào trình duyệt

Hình 3 2 Thêm addon Katalon Studio vào trình duyệt 34 34 Hình 3 3 Giải thích một số chức năng trong Katalon Studio 36

Trang 9

Hình 3 5 Thêm URL của website cần test Hình 3 5 Thêm URL của website cần test 38 38 Hình 3 6 Sử dụng phím tắt để bắt đối tượng 39 Hình 3 7 Lưu kết quả sau khi bắt

Hình 3 7 Lưu kết quả sau khi bắt đối tượng trong Katalon Studio đối tượng trong Katalon Studio 39 39 Hình 3 8 Lựa chọn đối tượng trong Object Repository

Hình 3 8 Lựa chọn đối tượng trong Object Repository 40 40 Hình 3 9 Kéo thả ID vào mục Object

Hình 3 9 Kéo thả ID vào mục Object 40 40 Hình 3 10 Tạo Script test 41 Hình 3 11 Basic Report

Hình 3 11 Basic Report 42 42 Hình 3 12 Text Encoder

Hình 3 12 Text Encoder 43 43 Hình 3 13 Text Encod

Hình 3 13 Text Encoder Pop up er Pop up 43 43 Hình 3 14 Text Encod

Hình 3 14 Text Encoder Realtime mode er Realtime mode 44 44 Hình 3 15 Text Encoder Normal mode 44 Hình 3 16 Giao diện trang web Kata Hình 3 16 Giao diện trang web Kata 45 45 Hình 3 17 Tạo Test case với Ca thử nghi

Hình 3 17 Tạo Test case với Ca thử nghiệm Sign Up ệm Sign Up 48 48 Hình 3 18 Data cho ca thử nghiệm

Hình 3 18 Data cho ca thử nghiệm Sign Up Sign Up 48 48 Hình 3 19 Tạo data files

Hình 3 19 Tạo data files 49 49 Hình 3 20 Các bước import data từ file excel 49 Hình 3 21 Thực thi ca thử nghiệm Sign Up 50 Hình 3 22 Tạo Test case với Ca thử

Hình 3 22 Tạo Test case với Ca thử nghiệm Sign In 52 nghiệm Sign In 52 Hình 3 23 Data cho ca thử nghiệm Sign In 52 Hình 3 24 Thực thi ca thử nghiệm Sig

Hình 3 24 Thực thi ca thử nghiệm Sign In n In 52 52 Hình 3 25 Ca kiểm thử trường hợp lỗi giao diện 55 Hình 3 26 Test case kiểm thử 55 Hình 3 27 Giao diện ban đầu của Websi

Hình 3 27 Giao diện ban đầu của Website te 56 56

Hình 3 28 Lỗi về giao diện 56 Hình 3 29 Thực thi ca thử nghiệm Tesy Vul Hình 3 29 Thực thi ca thử nghiệm Tesy Vul 57 57

Trang 10

Hình 3 31 Test case cho ca kiểm thử đăng nhập và tạo tài khoản cho Admin 60 Hình 3 32 Test Suite cho ca kiểm thử đăng nhập và

Hình 3 32 Test Suite cho ca kiểm thử đăng nhập và sửa tài khoản cho Admin 60 sửa tài khoản cho Admin 60 Hình 3 33 Thực thi với Katal

Hình 3 33 Thực thi với Katalon Studio on Studio 60 60 Hình 3 34 Báo cáo Katalon Analysis 61 Hình 3 35 Báo cáo ca được lưu lại trong Basic Report

Hình 3 35 Báo cáo ca được lưu lại trong Basic Report 61 61

Trang 11

DANH MỤC TỪ VIẾT TẮTS

STTTT KKÝ Ý HHIIỆỆUU CCỤỤM M TTỪ Ừ ĐĐẦẦY Y ĐĐỦỦ Ý Ý NNGGHHĨĨAA

ApplicationProgrammingInterface

Giao diện lập trình ứngdụng

22 CCAAPPTTCCHHAA

Completely AutomatedPublic Turing test to tellComputers and HumansApart

TTrìrình nh kikiểm ểm ttra ra ttự ự độđộngng phân

 phân biệt biệt hành hành động động củacủamáy tính với hành độngcủa người dùng

33 CCSSSS CCaassccaaddiinng g SSttyylle e SShheeeettss

 Ngôn ngữ quy định cáchhiển thị của các phần tửHTML

44 DDOOMM DDooccuummeennt t OObbjjeecct t MMooddeell MMô ô hhììnnh h đđốối i ttưượợnng g ttàài i lliiệệuu

Planning

Hệ thống hoạch định tàinguyên doanh nghiệp

Tổ chức cung cấp chứngchỉ kiểm thử phần mềm cógiá trị toàn cầu

1100 UUII UUsseer r IInntteerrffaaccee GGiiaao o ddiiệện n nnggưườời i ddùùnngg

Trang 12

1.1.1.1.1 KhKhái ái ququátát

Khi mạng Internet ngày càng phát triển, môi trường mạng đem đến nhiều

cơ hội kinh doanh, tiếp cận khách hàng thì hiển nhiên việc thiết kế website vàcác ứng dụng chạy

các ứng dụng chạy trên nền Web là trên nền Web là cần thiết để chiếm lĩnh thị trường Các ứngcần thiết để chiếm lĩnh thị trường Các ứngdụng Web phát triển và đóng vai trò to lớn trong việc kết nối, trao đổi thông tincủa nhiều doanh nghiệp

Muốn có được sự thành công kể trên, trước hết các ứng dụng chạy trênnền Web phải có chất lượng tốt, hiệu năng cao, chưa kể tới các yếu tố về giaodiện, trải nghiệm người dùng, v.v Ngoài ra, chúng ta đều biết ứng dụng trên nềnWeb có những đặc thù khác biệt hoàn toàn so với ứng dụng di động, ứng dụngdesktop,

v.v Ứng dụng trên nền Web không giới hạn chỉ ở điện thoại thông minh, máy vitính hay máy tính bảng, mà được thiết kế để chạy trên nhiều nền tảng khác nhau.Mỗi nền tảng lại có những yêu cầu riêng về cấu hình, độ phân giải, đặc thù thaotác, v.v Đó chính là những vấn đề lớn đặt ra cho các nhà phát triển phần mềmtrong việc đảm bảo chất lượng cho các ứng dụng trên nền Web khi phải chạytrên đa

trên đa nền tảng Vì nền tảng Vì thế cần thế cần phải đưa ra phải đưa ra một chiến lược một chiến lược hihiệu quả chệu quả cho kiểo kiểm thửm thử,,tránh những rủi ro, nâng cao chất lượng cho ứng dụng Web

1.11.1.2 2 Các loCác loại ứnại ứng dụng Wg dụng Webeb

có tính linh hoạt Ứng dụng Web tĩnh thường chỉ được xây dựng từHTML, CSS và Javascript Do không có cơ sở dữ liệu và công cụ điềukhiển nội dung gián tiếp nên người quản trị không thể tuỳ ý thay đổi nộidung mà cần có kiến thức về HTML, CSS cơ bản để chỉnh sửa Điểmcộng của loại website này là nội dung đơn giản, không mất nhiều thờigian, công sức để xây dựng do không phải xử lý những câu lệnh phức tạp.Tuy nhiên, do không có hệ thống hỗ trợ thay đổi nội dung nên việc cập

Trang 13

 phí lớn khi thay đổi

Trang 14

nhiều lần Một số ví dụ cho Web tĩnh là những trang giới thiệu công ty, tổchức, sản phẩm, khoá học ít có nhu cầu cập nhật thông tin, v.v.

kỹ thuật khi xây dựng Web động sử dụng cơ sở dữ liệu để hiển thị nộidung cũng như cho phép người dùng tương tác được với nội dung đó.Web động được chia làm 2 phần là back-end (dành cho người quản trịWeb thay đổi, cập nhật nội dung) và front-end (dành cho người dùng truycập) Hiện nay có rất nhiều ngôn ngữ lập trình được sử dụng để xây dựngWeb động như Java, PHP, ASP.NET, VB.NET, Ruby, v.v Đối với Webđộng, việc cập nhật nội dung là rất đơn giản và dễ dàng Không nhữngthế, một số hệ thống lớn hiện nay còn cho phép người quản trị có thể thayđổi giao diện Web trên trang quản trị mà không cần phải can thiệp trựctiếp vào mã nguồn Đó là những lý do khiến cho Web động được sử dụng phổ biến hơn Web tĩnh

1

1.1.1.3.3 Đặc Đặc điểđiểm về m về chấchất lưt lượng ợng của của một một ứng ứng dụndụng trg trên nên nền Wền WebebTrước đây, kiểm thử phần mềm là lĩnh vực độc quyền của các ứng dụngdesktop Tuy nhiên, giờ đây nó đã trở thành một thuật ngữ bao gồm một loạt cácnền tảng từ ứng dụng desktop, ứng dụng trên điện thoại thông minh, máy tính bảng cho đến

 bảng cho đến ứng dụng chạy ứng dụng chạy trên nền Web Mỗi trên nền Web Mỗi loại ứng dụng lại có loại ứng dụng lại có những đặcnhững đặctrưng riêng về chất lượng, độ tin cậy, chức năng, môi trường cài đặt, yêu cầu

người dùng, v.v kéo theo việc kiểm thử trên từng loại ứng dụng sẽ khác nhau.Chính vì vậy, một chuyên gia về kiểm thử ứng dụng trên điện thoại thông minhhay ứng dụng desktop chưa chắc đã làm tốt công việc kiểm thử với ứng dụngtrên nền Web Những sự khác biệt có thể kể đến sau đây:

 Ứng dụng trên nền Ứng dụng trên nền Web sử dụng Web sử dụng trên nhiều trình duyệt, không biết trướctrên nhiều trình duyệt, không biết trướcmôi trườn

môi trường duyệt Web của g duyệt Web của người dùngngười dùng:: Một ứng dụng Web chạy tốt trênMột ứng dụng Web chạy tốt trêntrình duyệt Google Chrome nhưng trên Mozilla Firefox hay Safari thì cóthể không như ý muốn Đó là do mỗi trình duyệt được xây dựng trên kiếntrúc khác nhau Ngay cả khi hiện tại các trình duyệt đều đang cố gắng đưa

Trang 15

khi khởi chạy ứng dụng trên nhiều trình duyệt khác nhau vẫn gây ranhiều lo

Trang 16

lắng cho lập trình viên và người làm kiểm thử Đó là lý do chúng ta khôngkhó bắt gặp những ứng dụng chạy trên nền Web ghi chú thích “Websitechạy (tương thích) tốt nhất trên trình duyệt X v.v.” Tuy nhiên, cách làmnày không thật sự hiệu quả khi người dùng muốn sử dụng ứng dụng Webcủa chúng ta lại phải cài đặt trình duyệt được khuyến nghị Để tránh cho

sự bất tiện này đòi hỏi người làm kiểm thử phải triển khai ca kiểm thửtrên nhiều trình duyệt khác nhau, kiểm tra độ tương thích và tìm ra nhữnglỗi để lập trình viên đưa ra sự thay đổi cho phù hợp với mọi trình duyệt

 Ứng dụng trên nền Web thường có lượng truy cập lớn, nhiều người sử dụng trên cùng một thời điểm:

dụng trên cùng một thời điểm: Với những ứng dụng Web có lượng ngườiVới những ứng dụng Web có lượng ngườitruy cập trung bình hoặc ít thì điều này không xảy ra vấn đề gì nghiêmtrọng Nhưng với những ứng dụng chạy trên nền Web có lượng người truycập lớn, thực hiện nhiều thao tác truy vấn dữ liệu cùng lúc có thể sẽ dẫntới việc server bị quá tải Kiểm thử hộp trắng phát huy hiệu quả rất caotrong trường hợp này Việc kiểm thử mã nguồn chương trình sẽ giúp loại

 Sự phụ thuộc vào tốc độ và sự ổn định của đường truyền Internet:Sự phụ thuộc vào tốc độ và sự ổn định của đường truyền Internet: Đa sốĐa số

các ứng dụng Web đều cần sử dụng mạng Internet để tải các dữ liệu về,sau đó hiển thị lên trình duyệt Nếu tốc độ đường truyền ổn định, việcduyệt Web không gây khó khăn gì Tuy nhiên trên thực tế, tốc độ cũngnhư sự ổn định về đường truyền của người dùng là rất khó đoán biết, mỗikhu vực lại có sự khác nhau về đường truyền gây ảnh hưởng tới sự vậnhành của ứng dụng Web Chưa kể tới việc mạng có thể mất kết nối độtngột khi đang thực hiện thao tác truy vấn sẽ

ngột khi đang thực hiện thao tác truy vấn sẽ dẫn tới những hậu quả rất khódẫn tới những hậu quả rất khólường nếu kiểm thử không tốt ở các trường hợp này, điển hình như cácứng dụng cho ngân hàng, hệ thống ERP, phần mềm phục vụ kế toán, v.v

Trang 17

 Sự cần thiết của SEO Web:Sự cần thiết của SEO Web: Đối với rất nhiều ứng dụng trên nền Web việcĐối với rất nhiều ứng dụng trên nền Web việctối ưu SEO là một yêu cầu bắt buộc Người sở hữu các website đều muốnwebsite được thăng thứ hạng cao trên các máy tìm kiếm như Google,Bing,

v.v giúp ứng dụng Web v.v giúp ứng dụng Web của mình được nhiều người biết tới Đây của mình được nhiều người biết tới Đây là mộtlà mộtđiểm mạnh giúp quảng bá ứng dụng

điểm mạnh giúp quảng bá ứng dụng trên nền Web dễ dàng hơn trên nền Web dễ dàng hơn so với ứngso với ứngdụng di động hay ứng dụng desktop Trong thực thế, ngoài kiểm thử chứcnăng, hiệu năng, giao diện cho ứng dụng Web, kiểm thử viên còn phải chútrọng tới việc kiểm tra tối ưu SEO cho ứng dụng Tuy nhiên việc tối ưuSEO lại không hề dễ dàng khi các máy tìm kiếm thường xuyên thay đổithuật toán Ngoài ra, nó còn liên quan tới chất lượng nội dung của ứngdụng Web để được máy tìm kiếm chú ý đến

1.11.1.4 4 Quy trình kiQuy trình kiểm thử một ứng dụng weểm thử một ứng dụng web/mộb/một phần mềmt phần mềm

Kiểm thử phần mềm/ứng dụng bao gồm nhiều giai đoạn với sự phối hợpcủa nhiều bên liên quan chứ không chỉ là một hoạt động đơn lẻ Chính vì thế,cần có quy trình kiểm thử phần mềm để làm rõ các công đoạn, các bước kiểmthử, người chịu trách nhiệm và khi nào việc kiểm thử được tiến hành trong toàn

 bộ quy trình phát

 bộ quy trình phát triển phần mềm Nói cách triển phần mềm Nói cách khác, quy trình kiểm thử khác, quy trình kiểm thử phần mềmphần mềmchính là chuỗi các hoạt động được tiến hành để thực hiện việc kiểm thử Các giaiđoạn trong quy trình kiểm thử phần mềm được biểu diễn tổng quát bằng sơ đồsau:

 Hình 1 1 Quy trình kiểm  Hình 1 1 Quy trình kiểm thử phần mềmthử phần mềm

Trang 18

hiểu rõ những yêu cầu cụ thể cần cho việc kiểm thử Các yêu cầu có thể làchức

Trang 19

năng (xác định phần mềm cần phải làm những gì) hoặc phi chức năng (hiệunăng, tính bảo mật hệ thống, màu sắc, v.v.)

 bảng sử dụng để theo dõi các yêu cầu của khách hang và kiểm tra xem cácyêu cầu này đã được đáp ứng đầy đủ hay chưa)

 Tài liệu sử dụng Tài liệu sử dụng ::

 RTM

nghiệm Ở giai đoạn này, trưởng nhóm kiểm thử sẽ dự toán chi phí cho dự

án cũng như chuẩn bị kế hoạch kiểm thử

người trong nhóm

kiểm thử Dữ liệu kiểm thử cũng được tạo và xác định trong giai đoạn này

 Xác minh, kiểm tra lại các ca Xác minh, kiểm tra lại các ca kiểm thử.kiểm thử

Tài liệu sử dụng:

Trang 20

 Ca kiểm thử.

kiện phần cứng và phần mềm trong từng dự án Thiết lập môi trường kiểmthử có thể thực hiện song song với giai đoạn sinh ca kiểm thử và là một tiêuchí quan trọng trong quá trình kiểm thử Tuy nhiên, nhóm kiểm thử có thểkhông cần tham gia vào giai đoạn này nếu đã có các bên liên quan khác hỗtrợ, nhiệm vụ của nhóm kiểm thử chỉ là yêu cầu môi trường kiểm thử cầnthiết

yêu cầu về phần cứng và phần mềm cho môi trường thử nghiệm

danh sách ca kiểm thử đã chuẩn bị từ giai đoạn trước Các lỗi phát hiện ở giai đoạn này sẽ được thông báo lại cho nhóm phát triển phần mềm để chỉnhsửa và thực hiện kiểm thử

sửa và thực hiện kiểm thử lại.lại

 Làm tài liệu về kết quả Làm tài liệu về kết quả kiểm thử, cập nhật lại các kiểm thử, cập nhật lại các lỗi trong ca kiểm thử.lỗi trong ca kiểm thử

 Kiểm thử lại các lỗi đã được chỉnh Kiểm thử lại các lỗi đã được chỉnh sửa.sửa

 Đóng chu trình kiểm thử: Nhóm kiểm thử sẽ họp, thảo luận và phân tíchnhững bài học rút ra sau quá trình kiểm thử, đưa ra chiến lược cho những lầnkiểm thử kế tiếp hoặc chia sẻ kinh nghiệm cho những dự án tương tự

Trang 21

 bao phủ, chi phí và chất lư bao phủ, chi phí và chất lượng.ợng.

Trang 22

 Chuẩn bị dữ liệu dựa trên các tiêu chí trên.

nghiêm trọng

1

1.1.1.5.5 KháKhái ni niệm iệm về Cvề Ca ka kiểm iểm thử thử 

Ca kiểm thử là một khái niệm không thể thiếu trong kiểm thử phần mềm.Theo ISTQB “ca kiểm thử là một tập hợp các giá trị đầu vào, tiền điều kiện, cáckết quả mong đợi và điều kiện kết thúc, được xây dựng cho mục đích hoặc điềukiện kiểm thử riêng biệt để kiểm tra tính đúng đắn của chương trình với yêu cầucủa bản đặc tả yêu cầu phần mềm” Hay nói cách khác, ca kiểm thử mô tả dữliệu bao gồm: đầu vào, hành động hoặc sự kiện và kết quả đầu ra mong đợi(expected results) để xác định liệu 1 ứng dụng, hệ thống phần mềm hoặc mộttrong các tính năng của nó có hoạt động đúng như mong muốn hay không

Cấu trúc của một ca kiểm thử thông thường bao gồm:

 Test case ID:Test case ID: Xác định số lượng trường hợp cần kiểm thử.Xác định số lượng trường hợp cần kiểm thử

  Function (Chức  Function (Chức năng):năng): Các function có thể được chia nhỏ dựa theo chứcCác function có thể được chia nhỏ dựa theo chứcnăng của hệ thống nhằm giúp ca kiểm thử trở nên rõràng hơn

  Pre-condition: Pre-condition: Điều kiện đầu vào của ca kiểm thử, ví dụ như khi thựcĐiều kiện đầu vào của ca kiểm thử, ví dụ như khi thựchiện kiểm thử form đăng nhập, pre-condition sẽ là form đăng nhập phảiđược hiển thị ra

 Test DataTest Data: Dữ liệu đầu vào cần chuẩn bị trước khi kiểm thử.: Dữ liệu đầu vào cần chuẩn bị trước khi kiểm thử

 Test StepsTest Steps: Mô tả chi tiết các : Mô tả chi tiết các bước thực hiện kiểm thử.bước thực hiện kiểm thử

  Expected Results: Expected Results: Kết quả mong đợi sau khi thực hiện các bước kiểm thử.Kết quả mong đợi sau khi thực hiện các bước kiểm thử

  Actual result  Actual result : Mô tả kết quả : Mô tả kết quả thực tế khi thực hiện kiểm thực tế khi thực hiện kiểm thử trên môithử trên môitrường của hệ thống Actual result thường bao gồm ba giá trị: pass, fail và pending

Trang 23

 Comments:Comments: Có thể chứa screen shot hoặc thông tin liên quan khi thực hiệnCó thể chứa screen shot hoặc thông tin liên quan khi thực hiện

ca kiểm thử

 Ngoài ra  Ngoài ra có thể có thể có thêm có thêm một số một số cột như: cột như: Designed by Designed by (người thực (người thực hiện kiểmhiện kiểmthử), Execute Date (ngày thực hiện kiểm thử), v.v Mức độ chi tiết của ca kiểmthử sẽ phụ thuộc vào từng dự án và quy mô của công ty sản xuất phần mềm

 Hình 1 2 Minh họa m Hình 1 2 Minh họa mẫu ca kiểm thử đơn giảnẫu ca kiểm thử đơn giảnMột ca kiểm thử được cho là hiệu quả khi:

Dựa vào ca kiểm thử có Dựa vào ca kiểm thử có thể tìm thấy lỗi.thể tìm thấy lỗi

vấn đề

minh bạch, dễ hiểu

Các ca kiểm thử nên có sự liên kết: Mỗi ca kiểm thử cần được đánh Các ca kiểm thử nên có sự liên kết: Mỗi ca kiểm thử cần được đánh số thứsố thứ

tự (Test case ID) để đảm bảo ca

tự (Test case ID) để đảm bảo ca kiểm thử đã bao phủ 100% bản đặc tả yêukiểm thử đã bao phủ 100% bản đặc tả yêucầu phần mềm

Trang 24

Ca kiểm thử có thể bảo trì: Nên viết ca kiểm thử sao cho khi có Ca kiểm thử có thể bảo trì: Nên viết ca kiểm thử sao cho khi có thay đổi,thay đổi,chỉnh sửa thì các bên liên quan có thể dễ dàng nhận thấy được sự thay đổiđó.

Tóm lại, ca kiểm thử được viết ra để kiểm tra hoạt động của các chức năng

có đúng như mong muốn trong bản đặc tả yêu cầu phần mềm hay không Khiviết ca kiểm thử nên cố gắng viết đơn giản, dễ hiểu nhưng phải đầy đủ các dữliệu chuẩn cần có của một ca kiểm thử

1

1.1.1.66 CáCác mc mức ức độ độ ngnghihiêm êm trtrọnọng cg của lủa lỗiỗiChương trình một khi đã xuất hiện lỗi đều kéo theo những hệ luỵ nghiêmtrọng Một trong những cách phân loại mức độ nghiêm trọng của lỗi thườngđược sử dụng là dựa trên tần suất xuất hiện: chỉ một lần, thỉnh thoảng, xuất hiệnlại hay lặp đi lặp lại nhiều lần Việc phân loại mức độ nghiêm trọng của lỗi sẽgiúp kiểm thử viên cũng như lập trình viên ý thức được đâu là lỗi cần được giảiquyết trước

quyết trước, nhằm giảm thiểu tối đa , nhằm giảm thiểu tối đa những tổn thất về chi những tổn thất về chi phí và nâng phí và nâng cao chấtcao chấtlượng cho sản phẩm phần mềm Hình 1.3 dưới đây minh hoạ các mức độnghiêm trọng của lỗi dựa trên độ nghiêm trọng và hậu quả

 Hình 1 3 Phân loại mức  Hình 1 3 Phân loại mức độ nghiêm trọng của lỗiđộ nghiêm trọng của lỗi

Trang 25

 Hình 1 4 Kiểm thử  Hình 1 4 Kiểm thử thủ công thủ công 11 22 22 ĐĐặặc đc điiểểmm

Ưu nhược điểm của hai quy trình:

KKiiểểm m tthhửử ĐĐiiểểm m mmạạnnhh ĐĐiiểểm m yyếếuu

Thủ công

CChho o pphhéép p tteesstteer r tthhựựcchiện việc kiểm thử khám

 phá ThíThích ch hợp hợp kiểkiểm tm tra ra sảnsản

- Tốn thời gian Đối vớimỗ

mỗi i lầlần n rereleleasase, e, ngngườườii

kiểm thử vẫn phải thựchiện

hiện lại lại một một tập tập hợp hợp cáccác

Trang 26

 phẩm  phẩm lần lần đầu đầu tiêntiên TThhíícch h hhợợp p kkiiểểm m tthhửửtrong trường hợp các testcase chỉ phải thực hiện

Tự động

ThThících h hợhợp p vớvới i ttrưrườnờngghợp phải test nhiều lầncho một case, có tínhổng định và tin cậy caohơn so với kiểm thử thủcông

CCó ó tthhể ể tthhựực c hhiiệện cán cáccthao tác lặp đi lặp lại((nnhhậập p ddữ ữ lliiệệuu, , cclliicckk,,ch

chececk k kếkết t ququả.ả ) ) gigiúpúpte

testster er khkhônông g phphải ải làlàmmnh

nhữững ng viviệc ệc gâgây y nhnhàmàmchán và dễ nhầm lẫn như

vậy Giảm Giảm chi phchi phí đầu tí đầu tư dàiư dàihạn

TốTốn kém hơn kém hơn kiển kiểm thửm thử

tự động, chi phí đầu tư

KKiiểểm m tthhử ử tthhủ ủ ccôônng g llààkh

khônông g ththể ể tthahay y tthế hế vìvìng

ngưười ời tta a khkhônông g tthể hể ttựựđộng hóa mọi thứ

 Bảng 1 1 So sánh ưu nhược của kiểm  Bảng 1 1 So sánh ưu nhược của kiểm thử thủ công và kiểm thử tthử thủ công và kiểm thử tự động ự động 

Trang 27

 Hình 1 5 So sánh phạm vi t Hình 1 5 So sánh phạm vi test tự động về rủi ro chất lượng est tự động về rủi ro chất lượng sản phẩmsản phẩmTheo như bản đồ bên trên chỉ rõ tổng lượng kiểm tra (số hạng mục x thờigian) của test tự động và test bằng tay Đối với test tự động có thể nâng caođược hiệu qủa của việc kiểm tra, tổng số trường hợp kiểm tra chắc chắn đượctăng lên.

 Nhìn vào bản  Nhìn vào bản đồ dưới đây đồ dưới đây ta có ta có thể so thể so sánh sự sánh sự thiệt hơn giữa thiệt hơn giữa kiểm thử tựkiểm thử tựđộng và kiểm thử thủ công

Chi phí ban đầu cho kiểm thử tự động cao hơn so với kiểm thử bằng tay

nhưng theo thời gian thì giá trị này bị đổi ngược lại Tuy lợi ích mang lại làkhông nhỏ nhưng kiểm thử tự động cũng không hoàn toàn thay thế được kiểmthử bằng tay Kiểm tra không có lợi ích của tự động hóa có nghĩa là dù có tựđộng hóa thì cũng không có ý nghĩa Khi không mang lại ý nghĩa thì sẽ mang lạimột kết quả không khả quan

Trang 28

 Hình 1 6 So sánh chi phí ki Hình 1 6 So sánh chi phí kiểm thử thủ công và kiểm thử ểm thử thủ công và kiểm thử tự động tự động  KiểKiểm tm tra thra thích hích hợp cợp cho tho tự độự động hóng hóa (ha (hiệu iệu quả mquả mang lang lại lớại lớn)n)

Với Với nhữnhững ng loạloại di dưới ưới đây đây thíthích ch hợp hợp cho cho tự tự độnđộng hóg hóa:a:

  Những kiểm tra cần thực hiệ Những kiểm tra cần thực hiện nhiều lầnn nhiều lần

thay đổi trong tương lai

như di chuyển hệ thống)

Kiểm tra nhiều màn hình của dữ liệu đầu vào

Kiểm Kiểm thử khthử không thông thích hợích hợp cho tp cho tự động ự động hóa (Khhóa (Không maông mang lại ng lại hiệu quhiệu quả)ả)

ViệViệc thực thực hiệc hiện tự độn tự động khng không pông phải lhải là ứng dà ứng dụng cụng cho tấho tất cả các tt cả các trườrường hợng hợpptest không thể tự động hóa cho tất cả các trường hợp thử nghiệm Vớinhiều trường hợp test không yêu cầu hồi quy, đặc điểm kĩ thuật luôn thayđổi thì tự động hóa không mang lại chút hiệu quả nào

Trang 29

KiểKiểm thm thử thử thủ côủ công lng là phù à phù hợp nhợp nhất hất với với các kcác khu vựhu vực / kịc / kịch bảch bản san sau đây:u đây:

kiến thức, kinh nghiệm, phân tích / logic kỹ năng, sáng tạo và trựcgiác Xét nghiệm này được đặc trưng bởi các tài liệu ở đây kém bằngvăn bản kỹ

văn bản kỹ thuậtthuật, hoặc một , hoặc một thời gian ngắn để thực hiện Chúng ta thời gian ngắn để thực hiện Chúng ta cầncầnnhững kỹ năng của con người để thực hiện quá trình kiểm thử trongkịch bản này

 Usability Testing: Đây là một lĩnh vực mà bạn cần để Usability Testing: Đây là một lĩnh vực mà bạn cần để đo độ thân thiện,đo độ thân thiện,hiệu quả, hoặc thuận tiện phần mềm hoặc sản phẩm cho người dùngcuối Ở đây, quan sát con

cuối Ở đây, quan sát con người là yếu tố quan người là yếu tố quan trọng nhất, do đó, mộttrọng nhất, do đó, một phương pháp thủ công là một l

 phương pháp thủ công là một lợi thế.ợi thế

 Nó là một

 Nó là một phương pháp phương pháp hoàn toàn hoàn toàn không có không có kế hoạch kế hoạch kiểm thử nơi kiểm thử nơi sựsựhiểu biết và cái nhìn sâu sắc của các thử nghiệm là yếu tố quan trọngduy nhất

KiểKiểm thm thử tự ử tự độnđộng là g là phù hphù hợp nhợp nhất vất với cới các khác khu vựu vực / kc / kịch ịch bản sbản sau đâau đây:y:

 Kiểm thử hồi quy: Ở đây, kiểm thử Kiểm thử hồi quy: Ở đây, kiểm thử tự động là phù hợp tự động là phù hợp vì các thay đổivì các thay đổi

mã thường xuyên và khả năng chạy các hồi quy một cách kịp thời

thành các thử nghiệm có hiệu quả khi nó đi kèm để tải thử nghiệm

 Thực hiện lặp đi lặp lại: Thử nghiệm Thực hiện lặp đi lặp lại: Thử nghiệm mà đòi hỏi phải thực hiện mà đòi hỏi phải thực hiện lặp đilặp đilặp lại một công việc được tự động tốt nhất

 Thử nghiệm tính năng: Tương tự như Thử nghiệm tính năng: Tương tự như vậy, thử nghiệm mà đòi hỏi vậy, thử nghiệm mà đòi hỏi sựsự

mô phỏng của hàng ngàn người dùng đồng thời đòi hỏi tự động hóa.1

1.3.3 CôCông ng viviệc ệc chchínính kh khi hi kikiểm ểm ththử ứử ứng ng dụdụng Wng Webeb1

1.3.3.1.1 KiKiểm tểm thử chử chứhức năc năngngKiểm thử chức năng yêu cầu kiểm thử viên thực hiện kiểm thử tất cả các link trong trang Web, định dạng được sử dụng trong các trang Web để gửi và nhậncác thông tin cần thiết từ người dùng Ngoài ra còn có kết nối cơ sở dữ liệu,kiểm tra cookie và xác

kiểm tra cookie và xác minh HTML/CSS, v.v.minh HTML/CSS, v.v

Trang 30

  Kiểm  Kiểm thử thử giao giao diện:diện: Trước khi lập trình viên bắt tay vào xây dựng mãTrước khi lập trình viên bắt tay vào xây dựng mãnguồn sẽ luôn có một bản thiết kế UI quy định giao diện của ứng dụngWeb Mỗi thành phần textbox, button, image, link và bố cục trên ứngdụng Web đều được chỉ ra một cách cụ thể trong tài liệu này Bản thiết kế

UI thường sẽ kèm theo file PSD – bản vẽ giao diện của ứng dụng Web sửdụng phần mềm Photoshop để lập trình viên dễ dàng xây dựng cũng nhưkhách hàng có thể biết trước ứng dụng của mình sẽ hiển thị ra sao Đâycũng là tài liệu không thể thiếu cho kiểm thử viên so sánh, đối chiếu giữathiết kế và nội dung thực tế của ứng dụng hiển thị trên trình duyệt

   Kiểm thử các liên kết và m Kiểm thử các liên kết và menu:enu:

Trong một ứng dụng Web có 2 loại liên kết: liên kết nội bộ (internal link) vàliên kết ngoại bộ (external link) Cả 2 loại liên kết trên đều cần được kiểm tra

xem chúng có hoạt động không? Có trỏ đến địa chỉ mong muốn không? Cầnđảm bảo rằng các liên kết không tự trỏ đến vị trí của chính nó Ngoài ra cũngcần xem xét thuộc tính “target” của các liên kết xem chúng có hoạt động đúngnhư bản thiết kế yêu cầu hay không

  K K iểm thử các form nhập dữ liệu:iểm thử các form nhập dữ liệu:

Cần đảm bảo các trường nhập liệu được thiết kế đúng kiểu loại, có bộ lọckiểm tra tính đúng đắn của dữ liệu nhập vào (validation) trước khi gửi đi(submit) tránh việc hacker có thể tận dụng lỗ hổng SQL Injection từ chính các

form nhập liệu trên ứng dụng Web Ngoài ra cũng cần đảm bảo sự toàn vẹn dữliệu trong quá trình truyền tải thông tin từ trình duyệt tới server, nhất là đối vớicác ứng dụng thương mại điện tử, ngân hàng, v.v

   Kiểm thử lỗi cú pháp H Kiểm thử lỗi cú pháp HTML/CSS:TML/CSS:

Ở bước tiếp theo, người kiểm thử cần xác định các thẻ CSS bị lỗi hoặc cácthuộc tính, id, class được viết trong thẻ

thuộc tính, id, class được viết trong thẻ HTML không hợp lệ HTML không hợp lệ hoặc không thuộchoặc không thuộc bất kỳ thẻ CSS nào

Kiểm thử các ứng dụng đăng nhập trong phiên bằng cách cho phép và vô

Trang 31

dụng

Trang 32

một tên miền không phù hợp như cố tình truyền sai, thiếu tham số, v.v Ngoài ra,cần kiểm tra khả năng bảo mật của ứng dụng Web bằng cách xóa các tập tincookie có chọn lọc khi kiểm thử.

Bước kiểm thử này đặc biệt cần thiết với những ứng dụng Web hỗ trợ đangôn ngữ để đảm bảo thông tin khi dịch sang các ngôn ngữ khác nhau luôn đượcsát nghĩa, không bị tràn dòng khi dịch, các yếu tố về chính tả được tuân thủ

   Kiểm thử cơ sở dữ l Kiểm thử cơ sở dữ liệu (database):iệu (database):

Kiểm tra kết nối tới cơ sở dữ liệu và các lỗi truy vấn có thể gặp phải, đảm bảo

 bảo dữ dữ liệu liệu được được cung cung cấp cấp chính chính xác xác khi khi các các chức chức năng năng xem xem thông thông tin, tin, thêm,thêm,sửa, xoá,

v.v hoạt động

1.3.2

1.3.2 Kiểm Kiểm thử khthử khả năng ả năng sử dụngsử dụng

Chúng ta cần đảm bảo nội dung trong ứng dụng được sắp xếp hợp lý và dễhiểu với người dùng, không mắc các lỗi chính tả, các hình ảnh

hiểu với người dùng, không mắc các lỗi chính tả, các hình ảnh hiển thị chính xáchiển thị chính xác

về vị trí, kích thước Ngoài ra cũng cần chú trọng tới màu sắc, font chữ phù hợpvới mọi đối tượng sử dụng

   Kiểm thử lôgíc các li Kiểm thử lôgíc các liên kết và hướng dẫn:ên kết và hướng dẫn:

Đối với người dùng lần đầu tiên truy cập một ứng dụng Web, họ luôn gặp

những khó khăn nhất định trong việc sử dụng Vì vậy cần kiểm tra xem cáchướng dẫn, liên kết, thông báo đã được bố trí đầy đủ trên ứng dụng hay chưa?Tuy nhiên, việc xuất hiện quá nhiều hướng dẫn, thông báo ở mọi nơi trên ứngdụng cũng khiến người dùng rối mắt, không thoải mái khi sử dụng Tốt nhất nênđảm bảo các hướng dẫn, thông báo đưa ra hết sức ngắn gọn nhưng đủ ý ngay tạinơi người dùng có thể gặp khó khăn khi sử dụng

   Kiểm thử văn hoá khu vực và đối  Kiểm thử văn hoá khu vực và đối tượng sử dụng:tượng sử dụng:

Điều này bắt nguồn từ đặc điểm riêng của từng lĩnh vực (ví dụ y khoa thườngdùng màu sáng để thể hiện sự sạch sẽ), hoặc văn hóa riêng từng khu vực (người

Trang 33

Thêm vào đó, trong quá trình kiểm thử phải luôn bảo đảm rằng chuẩn thiết kếứng dụng Web của mình có thể được tìm thấy phổ biến ở nhiều ứng dụng Webkhác cùng loại Ví dụ như button Đăng nhập, Đăng xuất thường nằm ở góc trên bên phải và menu chính luôn

 bên phải và menu chính luôn nằm ở trên cho tất cả nằm ở trên cho tất cả trang Web con Nếu một ứngtrang Web con Nếu một ứngdụng Web trong lĩnh vực khoa học lại trình bày bằng

dụng Web trong lĩnh vực khoa học lại trình bày bằng font chữ cách điệu lòe loẹt,font chữ cách điệu lòe loẹt,tiêu đề chạy ngang dọc, hoặc một ứng dụng Web dành cho trẻ em lại chỉ dùng 2tông màu đen trắng buồn tẻ thi nên góp ý với bộ phận thiết kế

1.3.3

1.3.3 Kiểm Kiểm thử sthử sự tươự tương thíng thíchchMột ứng dụng Web thường hỗ trợ nhiều thiết bị, môi trường khác nhau Vìvậy kiểm thử độ tương thích của ứng dụng Web

vậy kiểm thử độ tương thích của ứng dụng Web là một điều không dễ dàng là một điều không dễ dàng khikhicông nghệ của các nền tảng thay đổi quá nhanh chóng

   Kiểm thử tương thí Kiểm thử tương thích theo thiết bị, hệ điều hành:ch theo thiết bị, hệ điều hành:

Khó có ứng dụng Khó có ứng dụng Web nào chạy hoàn hảo Web nào chạy hoàn hảo trên tất cả các trên tất cả các môi trườngmôi trường, vì vậy, vì vậyngười kiểm thử cần đặt ưu tiên cho những môi trường cần hỗ trợ để tiết kiệmthời gian cho việc kiểm thử

Có hai điều cần lưu tâm nhất khi kiểm thử khả năng tương thích của ứngdụng với thiết bị, đó là: khung hình và khả năng hỗ trợ của thiết bị với các phiên bản HTML Người kiểm

 bản HTML Người kiểm thử cần truy thử cần truy cập tất cả cập tất cả các nội dung các nội dung trên từng loại thiếttrên từng loại thiết

 bị, có thể xoay

 bị, có thể xoay ngang, dọc màn hình (đối ngang, dọc màn hình (đối với thiết bị di động, máy với thiết bị di động, máy tính bảng) đểtính bảng) đểxem ứng dụng Web được hiển thị như thế nào, chạy thử từng chức năng trên ứngdụng để đảm bảo chúng hoạt động như mong muốn

   Kiểm thử tương thí Kiểm thử tương thích với trình duyệt:ch với trình duyệt:

Cần chạy thử ứng dụng trên một số trình duyệt phổ biến hiện nay như IE,Chrome, Firefox, Opera, Safari, v.v để đảm bảo hoạt động chính xác trên cáctrình duyệt khác nhau

Kiểm tra hoạt động các chức năng của ứng dụng khi thực hiện cài đặt, cấuhình bảo mật cho trình duyệt

Mỗi trình duyệt lại có nhiều phiên bản cập nhật khác nhau, cần kiểm tra sựnhất quán của ứng dụng khi chạy trên các phiên bản đó

Trang 34

1.31.3.4 4 KiểKiểm thử him thử hiệu suấệu suấtt

   Kiểm thử khả năng tải (Load test Kiểm thử khả năng tải (Load test):):

Ở bước này cần xác định thời gian thực thi cho các hành động tương ứng vớicác chức năng trên ứng dụng Công việc này cần được thực hiện ở nhiều thờiđiểm khác nhau (giờ cao điểm/thấp điểm) để có

điểm khác nhau (giờ cao điểm/thấp điểm) để có những đánh giá khách quan nhấtnhững đánh giá khách quan nhất

về khả năng tải của ứng dụng

   Kiểm thử độ chịu lỗi  Kiểm thử độ chịu lỗi (Stress test):(Stress test):

Công việc này chính là kiểm tra sức chịu đựng của ứng dụng Web khi có lượngtruy cập cao từ phía người dùng Trong thực tế đó có thể là nhu cầu sử dụng thực

sự của người dùng đối với ứng dụng hoặc khi máy chủ bị tấn công dưới dạngDdos Nói cách khác, người kiểm

Ddos Nói cách khác, người kiểm thử cần trả lời câu hỏi: Số thử cần trả lời câu hỏi: Số lượng người truy cậplượng người truy cậpcùng lúc là bao nhiêu sẽ đánh sập hệ thống? Hay đơn giản hơn là khi lượng người

truy cập tăng lên ở các mức khác nhau, ứng dụng còn hoạt động ổn định haykhông? Trả lời được các câu hỏi trên sẽ giúp cho ứng dụng Web khi đưa vào hoạtđộng tránh được những rủi ro không đáng có và lường trước những nguy cơ có thểxảy ra

1.31.3.5 5 KiểKiểm thử bm thử bảo mậảo mậtt

Ứng dụng Web là một trong những loại ứng dụng có nguy cơ bị tấn côngcao nhất Vì vậy, ngoài việc đảm bảo ứng dụng chạy đúng, ổn định cần phảikiểm tra nghiêm ngặt khả năng bảo mật của ứng dụng Các công việc cần làm có

thể kể đến như:

Kiểm tra độ tin cậy của việc phân quyền sử dụng trên ứng dụng

Đưa lỗi vào bằng cách truyền các tham số không hợp lệ trên URL haytrong các form nhập liệu Lỗ hổng SQL Injection được khai thác mạnh nhấtthông qua các thành phần trên

Kiểm tra khả năng truy cập trái phép đối với những thư mục bị cấm trênmáy chủ của ứng dụng

Kiểm tra hoạt động các bộ lọc (validation) khi sử dụng chức năng uploadtệp tin, thư mục của ứng dụng (nếu có)

Trang 35

1.4 Một số cMột số công cụ ông cụ hỗ trợ hỗ trợ kiểm kiểm thử ứnthử ứng dụng g dụng trên nềtrên nền Webn Web

Công việc cần làm đối với một kiểm thử viên kiểm thử ứng dụng trên nềnWeb như đã nói ở phần trước là rất nhiều Những công cụ kiểm thử ra đời để hỗtrợ cho các kiểm thử viên thực hiện công việc một cách nhanh chóng, bớt nhàmchán và giảm thiểu chi phí kiểm thử Đồ án này sẽ giới thiệu một số công cụ hỗtrợ kiểm thử ứng dụng trên nền Web, phân loại dựa trên mục đích sử dụng

1

1.4.4.1.1 CôCông ng cụ cụ kikiểm ểm ththử hử hiệiệu nu nănănggDưới đây là danh sách một số công cụ Dưới đây là danh sách một số công cụ kiểm thử hiệu năng được sử dụng rộngkiểm thử hiệu năng được sử dụng rộngrãi nhất để đo hiệu suất ứng dụng Web và khả năng chịu tải của chúng Các công

cụ kiểm tra tải này sẽ đưa ra đánh giá về hiệu suất của ứng dụng trong thời gian

có lưu lượng truy cập cao điểm

của ứng dụng Web bằng cách sử dụng Ajax, Adobe Flex, NET, Oracle.Forms, HTML5 và nhiều công nghệ khác Điểm mạnh của WebLoad là là

dễ sử dụng với các tính năng như cho phép ghi/phát lại dựa trên DOM,tương quan tự động và ngôn

tương quan tự động và ngôn ngữ kịch bản Javascripngữ kịch bản Javascript Công cụ t Công cụ này hỗ trợ này hỗ trợ thử nghiệm hiệu suất quy mô lớn với các kịch bản phức tạp và đưa ranhững phân tích rõ ràng

Jmeter được coi như một công cụ kiểm thử hiệu năng, có khả năng tích

hợp với kế hoạch kiểm thử Ngoài việc kiểm thử hiệu năng, ApacheJMeter còn có thể sử dụng để kiểm tra các chức năng của ứng dụng Web

  NeoLoad:  NeoLoad: Công Công cụ cụ sử sử dụng dụng để để đo đo và và phân phân tích tích hiệu hiệu suất suất của của ứng ứng dụngdụngWeb NeoLoad phân tích hiệu suất của ứng dụng Web bằng cách tăng lưulượng truy cập vào ứng dụng Nhờ đó, kiểm thử viên có thể biết đượcnăng lực chịu tải của ứng dụng Công cụ này được viết trên nền Java,tương

tương thích thích với nhvới nhiều hệ điều hành khác nhau và hỗ iều hệ điều hành khác nhau và hỗ trợ hai ngôn ngữ: Titrợ hai ngôn ngữ: TiếngếngAnh và tiếng Pháp

Điểm mạnh là nó có thể kiểm tra hiệu năng của ứng dụng dựa trên số

Trang 36

lượng người dùng và lưu lượng truy cập LoadStorm cũng có khả năngchịu tải rất

Trang 37

tốt khi mà nó có thể giả lập hàng trăm nghìn đến hàng triệu user để tìmkiếm các breaking point (điểm dừng) trong ứng dụng Các kịch bản kiểmthử của LoadStorm có thể được chỉnh sửa bởi kiểm thử viên.

1

1.4.4.2.2 CôCông ng cụ cụ kikiểm ểm ththử bử bảo ảo mậmậtt

  Burp Suite Burp Suite: Là một công cụ kiểm tra lỗ hổng bảo mật cho ứng dụng Web.: Là một công cụ kiểm tra lỗ hổng bảo mật cho ứng dụng Web

 Nó có nhiều

 Nó có nhiều công cụ công cụ tích hợp trong tích hợp trong đó hai đó hai công cụ công cụ chính trong chính trong phiên bảnphiên bảnmiễn phí là Spider and Intruder Spider được sử dụng để thu thập thôngtin các trang của ứng dụng và Intruder được sử dụng để thực hiện cáccuộc tấn công tự động trên

cuộc tấn công tự động trên ứng dụng Web Burp có một công cụ bổ ứng dụng Web Burp có một công cụ bổ sungsunghiện nay được gọi là Burp Scanner được dùng trong việc quét các lỗ hổng

có trong ứng dụng

 OWASP Zed Attack ProxyOWASP Zed Attack Proxy: Tương tự như Burp Suite, OWASP Zed Attack : Tương tự như Burp Suite, OWASP Zed Attack Proxy là công cụ để thâm nhập, đánh giá an ninh mạng, bảo mật của cácứng dụng Web

  Nikto: Nikto: Công cụ đánh giá hệ Công cụ đánh giá hệ thống Nikto là một máy quét lỗ hổng máy chủthống Nikto là một máy quét lỗ hổng máy chủWeb mã nguồn mở Nó phát hiện việc cài đặt phần mềm và cấu hình đãlỗi thời, các tệp tin có khả năng nguy hiểm, v.v

  Exploit-Me Exploit-Me: Là một công cụ kiểm tra bảo mật ứng dụng Web có thể tích: Là một công cụ kiểm tra bảo mật ứng dụng Web có thể tíchhợp trên trình duyệt Firefox được thiết kế nhỏ gọn, dễ sử dụng Exploit-

Me bao gồm các gói: XSS-Me và SQL Inject-Me Cross-Site Scripting

(XSS) là một lỗ hổng được tìm thấy trong nhiều ứng dụng Web hiện nay

Lỗ hổng XSS có thể gây ra

Lỗ hổng XSS có thể gây ra thiệt hại nghiêm trọng cho một ứng thiệt hại nghiêm trọng cho một ứng dụng Web.dụng Web.XSS-Me là công cụ giúp phát hiện ra các lỗ hổng XSS này Trong khi đó,SQL Inject- Me được sử dụng để kiểm tra các lỗ hổng SQL Injectiontrong ứng dụng Web

1

1.4.4.3.3 CôCông ng cụ cụ kikiểm ểm ththử cử chứhức nc nănăngg

  Ranorex Ranorex: Công cụ kiểm thử tự động cho các ứng dụng Web, desktop và di: Công cụ kiểm thử tự động cho các ứng dụng Web, desktop và diđộng Chỉ với một tài khoản, người dùng có thể sử dụng Ranorex để kiểmthử cho 3 loại ứng dụng kể trên Việc tích hợp này sẽ giúp rút ngắn thời

Trang 38

gian khi kiểm thử ứng dụng được thiết kế chạy trên nhiều nền tảng khácnhau Tuy nhiên, bản trả phí của Ranorex khá đắt, lên tới 3500$/năm.

 Selenium:Selenium: Là một trong những công cụ kiểm thử tự động ứng dụng WebLà một trong những công cụ kiểm thử tự động ứng dụng Webmạnh mẽ nhất hiện nay Selenium script có thể chạy trên hầu hết các trìnhduyệt hiện nay như IE, Chrome, Firefox, Safari, Opera và các hệ điềuhành phổ biến như Windows, Mac, Linux Trong thực tế, người ta thường

sử dụng Selenium dưới dạng Add-on tích hợp trong trình duyệt Firefox,kết hợp cùng với Firebug để kiểm thử ứng dụng Web một cách hiệu quảnhất Tuy chỉ có thể ghi lại (Record) hành động trên trình duyệt Firefox,nhưng có thể phát lại (Playback) trên nhiều trình duyệt phổ biến khác Vì

là công cụ mã nguồn mở nên Selenium có ưu thế lớn so với các công cụkiểm thử tự động khác: có cộng đồng hỗ trợ mạnh mẽ và không phải trả phí bản quyền Công cụ

 phí bản quyền Công cụ này hỗ trợ khá này hỗ trợ khá nhiều ngôn ngữ lập trình Web nhiều ngôn ngữ lập trình Web phổphổ biến

 biến hiện hiện nay nay Ngoài Ngoài ra, ra, Selenium Selenium được được phát phát triển triển bởi bởi Selenium Selenium team team từtừGoogle nên người dùng hoàn toàn yên tâm về chất lượng và độ tin cậy củaSelenium

  Katalon  Katalon Studio:Studio: cũng như Selenium - là một công cụ miễn phí dành chocũng như Selenium - là một công cụ miễn phí dành chocộng đồng kiểm thử phần mềm tự động Nếu Katalon Studio được xâydựng từ Selenium/Appium, tại sao chúng ta không dùng trực tiếp hai công

cụ phổ biến trong cộng động kiểm thử này mà cần phải dùng đến Katalon

Studio

CHƯƠNG 2: KIỂM THỬ ỨNG DỤNG

CỤ KATALON STUDIO2

2.1.1 GiGiới tới thihiệu vệu về Kaề Katatalolon Stn Stududioio

Katalon Studio là một bộ công cụ toàn diện để Katalon Studio là một bộ công cụ toàn diện để kiểm thử tự động ứng dụngkiểm thử tự động ứng dụngWeb và Mobile Công cụ này bao gồm một gói đầy đủ các tính năng mạnh mẽgiúp vượt qua các thách thức phổ biến trong kiểm thử tự động giao diện ngườidùng web, ví dụ: cửa sổ bật lên, iFrame và thời gian chờ Giải pháp thân thiện vàlinh hoạt này giúp cho người kiểm tra tốt hơn, làm việc nhanh hơn và khởi chạy

Trang 39

quy trình kiểm thử tự động.

Trang 40

2.2 Các tCác tính ính năng năng chính chính của của KatalKatalon Stuon Studiodio

 Triển khai đơn giản (Triển khai đơn giản ( Simple deployment) Simple deployment): gói triển khai duy nhất, gắn kết: gói triển khai duy nhất, gắn kếtchứa mọi thứ cần để triển khai một công cụ kiểm thử tự động mạnh mẽ

 Cài đặt nhanh chóng và dễ dàng (Cài đặt nhanh chóng và dễ dàng (Quick & easy set-up)Quick & easy set-up): không chỉ cung: không chỉ cungcấp cài đặt đơn giản, Katalon Studio còn giúp tester dễ dàng thiết lập môitrường Người kiểm thử có thể chạy kịch bản kiểm thử đầu tiền của họkhá nhanh chóng bằng cách sử dụng các mẫu và tập lệnh kiểm thử dựngsẵn của nó, chẳng hạn như kho đối tượng và thư viện từ khóa

 Kết quả nhanh hơn và tốt hơn (Kết quả nhanh hơn và tốt hơn (Faster & Better results)Faster & Better results): các mẫu dựng: các mẫu dựngsẵn với hướng dẫn rõ ràng giúp người kiểm tra nhanh chóng xây dựng vàchạy các kịch bản kiểm thử tự động Có thể thực hiện từng bước một tốc

độ và hiệu quả, từ thiết lập dự án, tạo kiểm thử, thực hiện, tạo báo cáo và

 bảo trì

 Chế độ linh hoạt (Chế độ linh hoạt (Flexible modes)Flexible modes): có thể sử dụng bản ghi và từ khóa để: có thể sử dụng bản ghi và từ khóa đểxây dựng bài kiểm thử tự động, trong khi có IDE đầy đủ để xây dựng tậplệnh nâng cao

 Dễ sử dụng (Dễ sử dụng ( Ease of  Ease of use)use): ngay cả thủ công với kinh nghiệm lập trình tối: ngay cả thủ công với kinh nghiệm lập trình tốithiểu cũng có thể khai thác lợi ích của nó một cách dễ dàng

 Ứng dụng đa trình duyệt (Ứng dụng đa trình duyệt (Cross-browser application)Cross-browser application): Katalon Studio hỗ: Katalon Studio hỗtrợ nhiều nền tảng: Windows 32 và 64 (7, 8, và

trợ nhiều nền tảng: Windows 32 và 64 (7, 8, và 10) và OS X 10) và OS X 10.5+.10.5+

2.3

2.3 Làm Làm việviệc với c với KatKataloalon Stun Studiodio

Katalon Studio là một giải pháp tự động hóa sâu sắc, thân thiện với ngườidùng, được đặc trưng bởi sự đơn

dùng, được đặc trưng bởi sự đơn giản và tốc độ Nó rất giản và tốc độ Nó rất hữu ích cho các nhóm vàhữu ích cho các nhóm và

cá nhân người kiểm thử tự động dành ít nỗ lực nhất từ việc thiết lập một dự ánmới đến thực hiện các kiểm thử và sau đó giám sát kết quả thực hiện Mỗi quytrình công việc được cung cấp r

trình công việc được cung cấp rất nhiều khả năng và tùy chỉnh để bảo ất nhiều khả năng và tùy chỉnh để bảo trì dễ dàngtrì dễ dàng

và mở rộng dự án:

 Cấu trúc được xác định trước (Pre-defined Cấu trúc được xác định trước (Pre-defined structure): test cases, teststructure): test cases, testsuites, test objects, reports Người kiểm tra không cần phải dành hàng giờ 

Ngày đăng: 01/12/2022, 10:40

HÌNH ẢNH LIÊN QUAN

Bảng so sánh trên chủ yếu tập trung vào các tính năng phổ biến của mộtBảng so sánh trên chủ yếu tập trung vào các tính năng phổ biến của một công cụ kiểm thử tự động - BÀI tập lớn  xây DỰNG ỨNG DỤNG WEB AN xây DỰNG ỨNG DỤNG WEB AN TOÀN đề tài KIỂM THỬ ỨNG DỤNG TRÊN nền WEB BẰNG CÔNG cụ KATALON STUDIO
Bảng so sánh trên chủ yếu tập trung vào các tính năng phổ biến của mộtBảng so sánh trên chủ yếu tập trung vào các tính năng phổ biến của một công cụ kiểm thử tự động (Trang 45)
Hình ảnh và text - BÀI tập lớn  xây DỰNG ỨNG DỤNG WEB AN xây DỰNG ỨNG DỤNG WEB AN TOÀN đề tài KIỂM THỬ ỨNG DỤNG TRÊN nền WEB BẰNG CÔNG cụ KATALON STUDIO
nh ảnh và text (Trang 70)
Hình ảnh và text 5 block 5 block hình ảnhhình ảnh - BÀI tập lớn  xây DỰNG ỨNG DỤNG WEB AN xây DỰNG ỨNG DỤNG WEB AN TOÀN đề tài KIỂM THỬ ỨNG DỤNG TRÊN nền WEB BẰNG CÔNG cụ KATALON STUDIO
nh ảnh và text 5 block 5 block hình ảnhhình ảnh (Trang 70)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w