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

ĐỀ TÀ ỨNG DỤNG KĨ THUẬT KIỂM THỬ KHẢ NĂNG TƯƠNG THÍCH BẰNG CÔNG CỤ APPLITOOLS CHO WEBSITE

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 (6.06 MB, 53 trang )

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

<b>TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI KHOA CÔNG NGHỆ THÔNG TIN </b>

<b>------ </b>

<b>MÔN HỌC: KIỂM THỬ PHẦN MỀM ĐỀ TÀI: ỨNG DỤNG KĨ THUẬT KIỂM THỬ </b>

<b>KHẢ NĂNG TƯƠNG THÍCH BẰNG CƠNG CỤ APPLITOOLS CHO WEBSITE.</b>

<b>Giáo viên hướng dẫn. : Lê Thị Chi </b>

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

1.2. Tại sao kiểm thử phần mềm là cần thiết? ... 6

1.3. Mục tiêu của kiểm thử phần mềm. ... 7

1.4. Phân loại kiểm thử phần mềm. ... 9

1.5. Kiểm thử phần mềm bao gồm những giai đoạn nào ? ... 9

<b>CHƯƠNG 2: CÔNG CỤ KIỂM THỬ APPLITOOLS ... 10</b>

2.1. GIỚI THIỆU APPLITOOLS ... 10

2.2. CÁC TÍNH NĂNG CHÍNH ... 10

<b>2.2.1.Kiểm thử hình ảnh tự động ... 10</b>

<b>2.2.2.Visual AI ... 10</b>

<b>2.2.3.Tích hợp với các FrameWork kiểm thử ... 11</b>

<b>2.2.4.Kiểm thử đa trình duyệt và đa thiết bị ... 11</b>

2.2.5.Kiểm thử đáp ứng và thiết kế động: ... 11

<b>2.2.6.Kiểm thử động ... 12</b>

<b>2.2.7.Intergrations với công cụ quản lý mã nguồn và CI/CD ... 12</b>

<b>2.2.8.Báo cáo chi tiết ... 13</b>

<b>2.2.9.Giám sát liên tục (Continuous Mornitoring) ... 13</b>

2.3.CÀI ĐẶT CÔNG CỤ ... 13

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

2

<b>CHƯƠNG 3: ỨNG DỤNG APPLITOOLS ... 19</b>

<b>THỰC HIỆN KIỂM THỬ WEBSITE KIWI.COM ... 19</b>

<b>3.1.Thực hiện kiểm thử chức năng Đăng nhập ... 19</b>

<b>3.1.1.Đặc tả kỹ thuật chức năng Đăng nhập ... 19</b>

<b>3.1.2.Kịch bản kiểm thử ... 21</b>

<b>3.1.3.Thực hiện kiểm thử ... 36</b>

<b>3.2.Thực hiện kiểm thử chức năng Tìm kiếm ... 40</b>

<b>3.2.1.Đặc tả kỹ thuật chức năng Tìm kiếm ... 40</b>

<b>3.2.2.Thiết kế test case ... 41</b>

<b>3.2.3.Kịch bản kiểm thử ... 42</b>

<b>3.2.4.Thực hiện kiểm thử ... 48</b>

<b>KẾT LUẬN ... 51</b>

<i><b>Mục Lục Hình </b></i>

<i><b>Hình 3. 1: Giao diện Đăng nhập ... 19</b></i>

<i><b>Hình 3. 2: Hình trang Selenium chuẩn bị test ... 37</b></i>

<i><b>Hình 3. 3: Bộ test ... 38</b></i>

<i><b>Hình 3. 4: Test thành cơng ... 39</b></i>

<i><b>Hình 3. 5: Thanh tìm kiếm chuyến bay ... 40</b></i>

<i><b>Hình 3. 6: Đang nhập thơng tin địa điểm ... 40</b></i>

<i><b>Hình 3. 7: Selenium đang chuẩn bị test ... 49</b></i>

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

Bảng 3. 17: Bảng dữ liệu kiểm thử cho chức năng đăng nhập ... 36

Bảng 3. 18: Bảng quyết định kiểm thử cho chức năng tìm kiếm ... 41

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

4

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

Để hoàn thành bản báo cáo này, chúng em đã nhận được rất nhiều sự giúp đỡ từ phía các thầy cơ trong khoa. Sự giảng dạy chu đáo, tận tình và sự giúp đỡ rất nhiều từ các thì cơ đã giúp chúng em hiểu ra nhiều vấn đề và hoàn thành bài báo cáo này tốt nhất.

Chúng em cũng xin phép được đặc biệt cảm ơn cô giáo Lê Thị Chi, chính cơ là người trực tiếp hướng dẫn và giảng dạy chúng em trong môn học, cũng như là người cố vấn đã đưa cho chúng em nhiều lời khuyên, lời chỉ bảo rõ ràng và quan trọng.

Cả nhóm cũng xin cảm ơn các nhóm thành viên trong lớp. Các bạn đã giúp nhóm mình đánh giá, nhận xét bản báo cáo được khách quan hơn.

Sau khoảng thời gian cô giáo Lê Thị Chi cho phép, chúng em đã rất nỗ lực và cố gắng trong việc tìm hiểu về đề tài. Các bạn trong nhóm cùng các cộng sự đã rất chăm chỉ cũng như giúp đỡ lẫn nhau để cho ra một bài báo cáo hoàn hảo nhất đến thời điểm hiện tại. Một lần nữa em xin cảm ơn các thầy cô giáo, đặc biệt là giảng viên Lê Thị Chi, các bạn trong lớp và tập thể đội ngũ làm việc đã giúp chúng mình hồn thành tốt bài báo cáo này.

Xin chân thành cảm ơn!

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

5

<b>CHƯƠNG 1: TỔNG QUAN KIỂM THỬ PHẦN MỀM </b>

<b>1.1. Kiểm thử là gì? </b>

-Kiểm thử phần mềm là phương pháp kiểm tra xem sản phẩm phần mềm đó trên thực tế có phù hợp với các yêu cầu đã đặt ra hay không và đảm bảo rằng không có lỗi hay khiếm khuyết. Nó bao gồm việc kiểm tra, phân tích, quan sát và đánh giá các khía cạnh khác nhau của sản phẩm.

<b> Lợi ích của kiểm thử phần mềm là gì? </b>

• Hiệu quả về chi phí: đây là một trong những lợi ích quan trọng của kiểm thử phần mềm. Thực tế cho thấy rằng các lỗi thiết kế khó có thể được loại trừ hồn tồn đối với bất kỳ hệ thống nào. Đó không phải là nỗi bất cần của Deverloper mà đôi khi do sự phức tạp của hệ thống. Nếu các vấn đề về thiết kế không được phát triển, thì việc tìm ra và sửa các lỗi/ khiếm khuyết sẽ trở nên khó khăn và tốn kém hơn. Kiểm thử bất kỳ dự án IT nào cũng sẽ giúp công ty tiết kiệm, việc xác định lỗi trong giai đoạn đầu sẽ giúp quá trình sửa chữa tốn ít chi phí hơn.

• Bảo mật: đây là điểm nhạy cảm và dễ bị tấn công nhất của kiểm thử phần mềm. Kiểm tự giúp loại bỏ các rủi ro và vấn đề trong sản phẩm. Cùng với nó, tất cả khách hàng đều đang tìm kiếm những sản phẩm đáng tin cậy.

• Chất lượng sản phẩm: đây là yêu cầu kết yếu của bất kỳ sản phẩm phần mềm nào. Kiểm thử phần mềm giống như việc cũng cố danh tiếng công ty bằng cách cung cấp các sản phẩm chất lượng cho khách hàng.

• Sự hài lòng của khách hàng: trong bất kỳ hoạt động kinh doanh sản phẩm nào, mục tiêu cuối cùng đều là mang đến cho khách hàng trải nghiệm tốt nhất. Sự hài hòa của khách hàng rất quan trọng trong quá trình hợp tác lâu dài.

<b>Kiểm thử phải tuân theo các mục đích: </b>

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

6

<b>• Tìm kiếm lỗi/Finding defects. </b>

• Đảm bảo được một mức độ chất lượng/Gaining confidence about the level of

<b>quality. </b>

• Khơng có thơng tin để đưa ra quyết định/Providing information for

<b>decision-making. </b>

<b>• Ngăn ngừa lỗi/ Preventing defects </b>

<b> Nguyên tắc kiểm thử ( 7 testing principles) </b>

1. Kiểm cha sự hiện diện của lỗi/ Testing show presence of defect. 2. Kiểm tra tồn bộ là khơng thể/ Exhautive testing is impossible. 3. Thực hiện kiểm thử sớm/ Early testing.

4. Phân loại lỗi/ Defect clustering.

5. Phương pháp thuốc trừ sâu/Pesticide paradox.

6. Kiểm thử phụ thuộc vào bối cảnh/ Testing is context dependent. 7. Mắt của lỗi/ Absence of error fallacy.

<b>1.2. Tại sao kiểm thử phần mềm là cần thiết? </b>

<b>Vai trò của kiểm thử trong phát triển phần mềm, bảo trì và vận hành: </b>

• Kiểm thử nghiêm ngặt hệ thống và tài liệu có thể giúp giảm thiểu những vấn đề ruỉ do xảy ra trong q trình vận hành và góp phần nâng cao chất lượng của hệ thống phần mềm, nếu như các lỗi được tìm thấy và sửa chữa trước khi hệ thống được vận hành thực tế.

• Kiểm thử phần mềm có được u cầu để đạt được tính hợp pháp và đảm bảo hợp đồng, hoặc những tiêu chuẩn trong ngành công nghiệp đặc biệt.

<b> Kiểm thử và chật lượng: </b>

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

7 • Kiểm thử mang lại sự tự tin về chất lượng của phần mềm nếu nó tìm thấy

một vài hoặc khơng tìm thấy lỗi. Kiểm thử đúng sẽ giảm thiểu được tổng thể mức độ rủi ro của hệ thống. Khi quá trình kiểm thử tìm thấy lỗi, chất lượng của hệ thống phần mềm được nâng cao sau khi những nỗi đó được sửa chữa.

<b> Kiểm thử bao nhiêu là đủ: </b>

• Việc quyết định kiểm thử bao nhiêu là đủ phụ thuộc vào mức độ của rủi ro, bao gồm kĩ thuật, độ an toàn, rủi ro trong kinh doanh và hạn mức của dự án như là thời gian và ngân sách.

• Kiểm thử nên cung cấp đủ thơng tin để các bên liên quan có thể quyết định về việc bàn giao phần mềm hoặc hệ thống đã có kiểm thử, cho các bước phát triển tiếp theo hay bàn giao cho khách hàng.

<b>1.3. Mục tiêu của kiểm thử phần mềm. 1.3.1. Mục tiêu. </b>

<b> - Xác định phần mềm phù hợp với yêu cầu đặc tả. </b>

- Xác định phần mềm phù hợp với nhu cầu người dùng. - Đủ tự tin để cung cấp một sản phẩm chất lượng. - Phát hiện các lỗi trong quá trình phát triển phần mềm.

<b>1.3.2. Các quan điểm về kiểm thử. </b>

- Phân biệt giữa Testing và debugging.

Hoạt động tìm lỗi

Hoạt động sửa lỗi

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

8 Được thực hiện bởi kiểm thử viên <sup>Được thực hiện bởi lập trình viên </sup>

Tìm được càng nhiều lỗi càng tốt <sup>Loại bỏ những lỗi tìm được </sup>

- Đối với mọi người, kiểm thử là công việc vô cùng đơn giản và dễ dàng nhưng thực tế lại không phải như vậy. Sau đây là một số quan điểm về kiểm thử phần mềm.

Kiểm thử là công việc dễ dàng

Kiểm thử là công việc thách thức, đòi hỏi kỹ năng cao khi thực hiện ít nhất một số trường hợp kiểm tra nội dung.

Ai cũng có thể trở thành kiểm thử viên

Kiểm thử là cơng việc địi hỏi tính cẩn thận, tỉ mỉ trong từng nội dung, khả năng nghiên cứu và tìm kiếm dữ liệu cao.

Sau khi kiểm thử thì sản phẩm đạt chất lượng cao, 100 % khơng có lỗi

Kiểm thử chị giúp cho sản phẩm đạt chất lượng tốt hơn, ngăn chặn các lỗi dễ dàng phát sinh.

Kiểm thử tự động tốt hơn kiểm thử bằng tay.

Kiểm thử tự động không thể kiểm tra 100 % nội dung, một số trường hợp vẫn phải kiểm thử bằng tay.

-

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

9

<b>1.4. Phân loại kiểm thử phần mềm. </b>

Kiểm thử phần mềm khơng phải làm việc đơn lẻ. Nó có nhiều hình thức khác nhau và được phân loại theo một số tiêu chí. Về cơ bản, kiểm thử phần mềm được chia làm bốn loại:

- Kiểm thử chức năng. - Kiểm thử phi chức năng. - Kiểm thử cấu trúc.

- Kiểm thử liên quan tới các thay đổi.

<b>1.5. Kiểm thử phần mềm bao gồm những giai đoạn nào ? </b>

Mơ hình dưới đây sẽ mô tả các giai đoạn trong kiểm thử phần mềm Software testing bao gồm: Nhận yêu cầu đặt tả => Lập kế hoạch => Tạo test design/ test case =>Thực hiện kiểm thử => Tạo test.

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

10

<b>CHƯƠNG 2: CÔNG CỤ KIỂM THỬ APPLITOOLS </b>

<b>2.1. GIỚI THIỆU APPLITOOLS </b>

- Applitools là một công ty phát triển công nghệ kiểm thử tự động và giám sát giao diện người dùng (UI) cho ứng dụng web và di động. Cơng cụ chính của Applitools là Applitools Eyes, một nền tảng kiểm thử tự động và giám sát giao diện người dùng thông minh.

- Applitools Eyes sử dụng công nghệ AI và phân tích hình ảnh để phát hiện và nhận biết các thay đổi trong giao diện người dùng của ứng dụng. Nó giúp đảm bảo tính nhất quán và chất lượng của giao diện người dùng trên nhiều nền tảng và trình duyệt

- Là 1 lĩnh vực của trí tuệ nhân tạo tập trung vào việc làm cho máy tính có khả năng nhìn và hiểu thơng tin từ hình ảnh, video giống như con người

- Công nghệ này giúp người dùng tự động kiểm thử giao diện người dùng và kiểm thử hiệu suất của ứng dụng

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

11

<b>2.2.3.Tích hợp với các FrameWork kiểm thử </b>

- Giúp đơn giản hóa và tăng cường quy trình kiểm thử của các nhà phát triển và các nhóm kiểm thử

- Applitools cung cấp SDK cho nhiều ngôn ngữ lập trình phổ biến như C#, JavaScript, Python…

- Cho phép nhà phát triển và nhóm kiểm thử sử dụng ngơn ngữ ưa thích của họ để tích hợp và triển khai Applitools vào quy trình kiểm thử

<b>2.2.4.Kiểm thử đa trình duyệt và đa thiết bị </b>

Tầm quan trọng: là phần rất quan trọng để đảm bảo ứng dụng hoạt động mượt mà và đáp ứng trên mọi nền tảng

❖ Chiến lược kiểm thử

- Sử dụng trình duyệt phổ biến

- Kiểm thử trình duyệt cũ và thiết bị hiệu năng thấp - Tích hợp cơng cụ tự động như Selenium hay TestCafe ❖ Kiểm thử di động

- Kiểm thử trên iOS và Android

- Đảm bảo ứng dụng phù hợp trên nhiều loại thiết bị di động

❖ Visual Testing: Sử dụng Applitools để theo dõi giao diện trực quan trên nhiều trình duyệt và thiết bị

❖ Hiệu suất và Reponsive Design

- Đảm bảo hiệu suất tốt trên mọi mơi trường

- Sử dụng Reponsive Design để tích hợp ứng dụng trên các kích thước màn hình

<b>2.2.5.Kiểm thử đáp ứng và thiết kế động: </b>

Kiểm thử đáp ứng và tiết kế động: là quá trình đảm bảo 1 trang web hoặc ứng dụng có khả năng đáp ứng đúng đắn trên nhiều kích thước màn hình và thiết bị khác nhau.

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

12 ❖ Kiểm thử đáp ứng

<b>- Mục tiêu: Đảm bảo hiển thị chính xác trên nhiều kích thước màn hình - Chiến lược: Kiểm thử trực tiếp và tự động nhiều thiết bị </b>

❖ Kiểm thử thiết kế động

- Mục tiêu: Đảm bảo hiệu ứng và tương tác hoạt động đúng.

- Chiến lược: Kiểm thử hiệu ứng, chuyển động và tương tác người dùng ❖ Tích hợp kiểm thử

- Mục tiêu: Đảm bảo trải nghiệm đồng đều trên mọi thiết bị

- Chiến lược: Tích hợp kiểm thử tự động và sử dụng cơng cụ trình duyệt và đa thiết bị

<b>2.2.6.Kiểm thử động </b>

- Là quá trình kiểm tra và đánh giá hệ thống thông qua việc thực hiện các tác vụ,

<b>kiểm tra hành vi và xem xét kết quả khi chương trình đang chạy. - Đảm bảo hiệu ứng chuyển động mượt mà </b>

<b>- Đảm bảo video và âm thanh phát lại chính xác trên các nền tảng </b>

<b>- Đảm bảo tương tác nh nút bấm, kéo thả hoạt động chính xác trên nhiều thiết bị </b>

- Đảm bảo hiển thị chính xác và khơng gây lỗi trang với đồ họa động như GIF hoặc

<b>SVG trên nhiều trình duyệt và thiết bị </b>

<b>- Đảm bảo nội dung hoạt động trên nhiều trình duyệt phổ biến 2.2.7.Intergrations với công cụ quản lý mã nguồn và CI/CD </b>

- Quản lí mã nguồn: hỗ trợ git, github, gitlab…

- CI/CD: Lugin cho Jenkins, tích hợp với Travis CI, Circle CI, Gitlab CI/CD - Kiểm thử tự động: tương thích với Selenium, Appium, Cypress

- Quản lý dự án: tích hợp với Jira,Trello - Quản lý kiểm thử

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

13

<b>2.2.8.Báo cáo chi tiết </b>

- Giúp nhanh chóng định rõ và giải quyết vấn đề trực quan, tăng cường hiểu biết về

<b>tình trạng giao diện người dùng </b>

<b>- Xem chi tiết sự thay đổi giữa ảnh trước và sau - Đánh giấu khu vực thay đổi trên giao diện - Báo cáo mức độ thay đổi </b>

<b>- Tự động tạo báo cáo sau mỗi ca kiểm thử - Tổng hợp thông tin từ nhiều phiếu kiểm thử - Đánh giá và để lại phản hồi trực tiếp </b>

<b>2.2.9.Giám sát liên tục (Continuous Mornitoring) </b>

- Giúp duy trì chất lượng và đồng nhất của giao diện người dùng 1 cách tự động và

<b>hiệu quả </b>

<b>- Giám sát trực quan liên tục trên nhiều trình duyệt và thiết bị - Tự động báo cáo thay đổi </b>

<b>- Liên tục giám sát trạng thái giao diện </b>

<b>- Tích hợp dễ dàng vào CI/CD và quy trình phát triển - Đảm bảo tính nhất quán trên mọi nền tảng </b>

<b>- Kiểm soát ứng dụng trên đa độ phân giải và thiết bị 2.3.CÀI ĐẶT CÔNG CỤ </b>

- Truy cập trang web của Applitools: Để bắt đầu, hãy truy cập vào trang web chính

<b>của Applitools tại địa chỉ: </b>

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

14 - Đăng ký tài khoản: Nếu bạn chưa có tài khoản, hãy nhấp vào nút "Get Started for Free" hoặc "Sign Up" trên trang chủ của Applitools. Điền thông tin cần thiết và hồn tất quy trình đăng ký.

- Đăng nhập vào tài khoản: Sau khi đăng ký, đăng nhập vào tài khoản Applitools của bạn bằng cách nhấp vào nút "Sign In" trên trang chủ. Nhập thông tin đăng nhập của bạn (địa chỉ email và mật khẩu) để truy cập vào giao diện người dùng của Applitools.

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

15 -

- Cài đặt SDK Applitools: Applitools cung cấp các SDK cho nhiều ngôn ngữ và framework khác nhau, như Java, JavaScript, Python, C#, Ruby, và nhiều hơn nữa. Chọn SDK phù hợp với ngôn ngữ và framework của bạn và làm theo hướng dẫn cài đặt cụ thể cho từng SDK trên trang web của Applitools.

- Thêm tiện ích selenium ide vào chrome

- Tích hợp Applitools vào quy trình kiểm thử: Sau khi cài đặt SDK, bạn cần tích hợp Applitools vào quy trình kiểm thử của bạn. Điều này có thể bao gồm việc sử dụng

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

16 các hàm và phương thức của SDK để ghi lại và kiểm tra giao diện người dùng của ứng dụng của bạn.

- Thêm tiện ích applitools for selenium ide vào chrome

- Chạy kiểm thử và xem báo cáo: Khi đã tích hợp Applitools vào quy trình kiểm thử, bạn có thể chạy các bài kiểm thử và xem kết quả trên giao diện người dùng của Applitools. Applitools sẽ so sánh các hình ảnh ghi lại từ các phiên bản khác nhau và tạo ra báo cáo về sự khác biệt và lỗi có thể xảy ra trong giao diện người dùng. - Lấy api key để đồng bộ với extension selenium ide

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

17 - Sao chép key sau đó add vào extension applitools

- Lúc này cần phải mở selenium ide

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

18

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

19

<b>CHƯƠNG 3: ỨNG DỤNG APPLITOOLS THỰC HIỆN KIỂM THỬ WEBSITE KIWI.COM </b>

<b>3.1. Thực hiện kiểm thử chức năng Đăng nhập 3.1.1. Đặc tả kỹ thuật chức năng Đăng nhập </b>

<i><b>- Trang đăng nhập gồm: </b></i>

• Email, Facebook, Google, Apple

• Khi click vào 1 trong 4 nút Email, Facebook, Google, Apple với các giá trị hợp lệ, hệ thống sẽ chuyển về trang chủ của website

<i><b>- Giao diện form Đăng nhập </b></i>

<i><b>Hình 3. 1: Giao diện Đăng nhập </b></i>

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

20

<i><b>3.1.2. Thiết kế test case </b></i>

<i><b>Khi đăng nhập vào website, hệ thống yêu cầu người dùng đã có tài khoản đăng kí trước đó. Nhập thơng tin vào form login bao gồm số điện thoại </b></i>

và mật khẩu. Hoặc người dùng có thể lựa chọn tài khoản đăng nhập từ Gmail,

<b>Facebook, Apple,… sau đây là bộ test dùng tài khoản đăng nhập là số điện </b>

<b>thoại và mật khẩu Bộ test sẽ dựa vào trường và nhận các giá trị sau: </b>

<i><b>- Số điện thoại: nhập đúng, nhập sai (định dạng số, định dạng chữ, kí </b></i>

tự đặc biệt) và để trống

<i><b>- Mật khẩu: nhập đúng, nhập sai và để trống </b></i>

<i><b>Như vậy ta sẽ có bộ test gồm 15 bộ test case, lập bảng quyết định ta có: </b></i>

<i>Bảng 3. 1 Bảng quyết định cho chức năng đăng nhập </i>

</div>

×