Giới thiệu về công cụ1.1.1 Đặc điểm Selenium là một bộ công cụ chuyên dụng trong kiểm thử tự động open source dành cho các ứng dụng web, cũng như hỗ trợ hoạt động trên các trình duyệt c
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO MÔN HỌC KIỂM THỬ VÀ ĐẢM BẢO CHẤT LƯỢNG PM
Đ TÀI:
XÂY DỰNG BỘ CA KIỂM THỬ CHO CÁC CHỨC NĂNG CỦA
WEBSIDE QUẢN LÝ BÁN QUẦN ÁO
Giảng viên hướng dẫn
Ngành
: LÊ HOÀN : CÔNG NGHỆ THÔNG TIN
Hà Nội , ngày 15 tháng 9 năm 2022
Trang 3MỤC LỤC
LỜI NÓI ĐẦU 4
CHƯƠNG 1: CÔNG CỤ KIỂM THỬ TỰ ĐỘNG SELENIUM 5
1.1 Giới thiệu về công cụ 5
1.1.1 Đặc điểm 5
1.1.2 Các thành phần của Selenium 5
1.2 Cách tổ chức chương trình chạy với công cụ Selenium IDE 5
1.2.1 Giới thiệu chung về công cụ Selenium IDE 5
1.2.2 Các tính năng của Selenium IDE 6
1.2.3 Lợi ích của việc sử dụng Selenium IDE 6
1.2.4 Phân loại các lệnh Selenium 6
1.2.5 Hạn chế của Selenium IDE 7
1.2.6 Hướng dẫn Download và cài đặt Selenium IDE 7
1.2.7 Các tính năng của Selenium IDE 8
1.3 Áp dụng kiểm thử tự động với chức năng đăng nhập 10
CHƯƠNG 2: ĐẶC TẢ PHẦN MM 14
2.1 Giới thiệu phần mềm 14
2.2 Đặc tả yêu cầu phần mềm 15
2.2.1 Chức năng đăng nhập 15
2.2.1.1 Usecase Chức năng Đăng nhập 15
2.2.1.2 Mô tả chức năng 15
2.2.1.3 Dòng sự kiện (Flow of events) 15
2.2.2 Chức năng quản lý sản phẩm 16
2.2.2.1 Usecase chức năng quản lý sản phẩm 16
2.2.2.2 Mô tả chức năng 16
2.2.2.3 Dòng sự kiện (Flow of events) 16
1
Trang 42.2.3 Chức năng Đăng bài của quản lý 18
2.2.3.1 Usecase chức năng Đăng bài 18
2.2.3.2 Mô tả chức năng 18
2.2.3.3 Dòng sự kiện (Flow of events) 18
CHƯƠNG 3 : KẾ HOẠCH TEST 21
3.1 Mục đích của kế hoạch test 21
3.2 Test Scope 21
3.3 Feature/non Feature to the test 21
3.4 Test tool 22
3.5 Test Environment 23
3.6 Test Resources Man-power 23
3.7 Test milestones 23
3.8 Test products 24
CHƯƠNG 4: XÂY DỰNG VÀ THỰC HIỆN CÁC TEST CASE 25
4.1 Test chức năng Đăng Nhập 25
4.2 Test chức năng quản lý sản phẩm(Thêm mới, Tìm kiếm, Chỉnh sửa) 28
4.3 Test chức năng Đăng bài viết 34
KẾT LUẬN 37
TÀI LIỆU THAM KHẢO 38
Trang 5Danh mục hình ảnh
Hình 1.1 Trang download công cụ Selenium IDE 07
Hình 1.2 Trang lựa chọn trình duyệt 08
Hình 1.3 Trang Cửa sổ công cụ Selenium IDE 08
Hình 1.4 Trang Công cụ Selenium IDE 10
Hình 1.5 Trang đặt tên cho project 10
Hình 1.6 Trang test project 11
Hình 1.7 Trang tạo testcase 11
Hình 1.8 Trang nhập Url 12
Hình 1.9 Trang login cần test 12
Hình 1.10 Trang kết quả test login 12
Hình 2.1 Biểu đồ usecase đăng nhập 15
Hình 2.2 Biểu đồ dòng sự kiện đăng nhập 15
Hình 2.3 Biểu đồ Usecase Quản lý sản phẩm 16
Hình 2.4 Biểu đồ dòng sự kiện quản lý sản phẩm 17
Hình 2.5 Biểu đồ usecase chức năng đăng bài 18
Hình 2.6 Biểu đồ dòng sự kiện chức năng đăng bài 19
Hình 4.1 Giao diện đăng nhập 25
Hình 4.2 Giao diện quản lý sản phẩm 29
Hình 4.3 Giao diện quản lý bài viết 34
Trang 6LỜI NÓI ĐẦU
Trên thực tế không có sự thành công nào mà không gắn liền với những sự
hỗ trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác Trongsuốt thời gian đã và đang học tập tại trường đến nay, em đã nhận được rất nhiều
sự quan tâm, giúp đỡ của quý Thầy Cô, gia đình và bạn bè
Và đặc biệt, trong học kỳ này Em xin cảm ơn thầy Lê Hoàn đã hướng dẫn,góp ý, thảo luận để bài báo cáo này của em được hoàn thiện Trong thời gianđược học tập và thực hành dưới sự hướng dẫn của cô, chúng em không nhữngthu được rất nhiều kiến thức bổ ích, mà còn được truyền sự say mê và thích thúđối với bộ môn Kiểm thử và đảm bảo chất lượng
Mặc dù đã rất cố gắng hoàn thiện đồ án với tất cả sự nỗ lực, tuy nhiên, dobước đầu đi vào thực tế, tìm hiểu và xây dựng đồ án trong thời gian có hạn, vớilượng kiến thức còn hạn chế, nhiều bỡ ngỡ, nên đồ án “Quản lý quán cafe” chắcchắn sẽ không thể tránh khỏi những thiếu sót Chúng em rất mong nhận được sựquan tâm, thông cảm và những đóng góp quý báu của các thầy cô và các bạn để
đồ án này ngày càng hoàn thiện hơn
Một lần nữa, chúng em xin chân thành cám ơn cô và luôn mong nhận được
sự đóng góp của thầy cô và các bạn
Sau cùng, chúng em xin kính chúc các thầy cô trong Khoa Công NghệThông Tin dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp củamình là truyền đạt kiến thức cho thế hệ mai sau
Trang 7CHƯƠNG 1: CÔNG CỤ KIỂM THỬ TỰ ĐỘNG SELENIUM 1.1 Giới thiệu về công cụ
1.1.1 Đặc điểm
Selenium là một bộ công cụ chuyên dụng trong kiểm thử tự động open source dành cho các ứng dụng web, cũng như hỗ trợ hoạt động trên các trình duyệt có nền tảng khác nhau như Mac, Linux, Windows, Với Selenium thì bạn hoàn toàn có thể viết các test script bằng nhiều ngôn ngữ lập trình khác nhau như: Java, PHP, C#, Ruby hoặc Python
Selenium được sử dụng để có thể automate cho các thao tác với trình duyệt hoặc dễ hiểu hơn là nó hỗ trợ giả lập lại các tương tác nằm trên trình duyệt tương tự như một người dùng thực thụ Chính vì thế, bạn có thể lập trình để có thể bật tự động các trình duyệt, để open một link, input cho dữ liệu, upload, download dữ liệu từ web page hoặc thậm chí get info page
1.1.2 Các thành phần của Selenium
Selenium là một mã nguồn mở và là một công cụ kiểm thử phần mềm tự động hóa để thử nghiệm các ứng dụng web Nó có khả năng hoạt động trên nhiều các trình duyệt và hệ điều hành khác nhau Selenium không chỉ là một công cụ duy nhất mà là một bộ các công cụ giúp những người kiểm thử tự động hóa các ứng dụng dựa trên web hiệu quả hơn Chúng ta sẽ tìm hiểu từng công cụ
có sẵn trong bộ công cụ Selenium và cách sử dụng chúng Phân loại Selenium gồm Selenium Integrated Development Environment (IDE), Selenium Remote Control (RC), Selenium Grid và Selenium Core Các công cụ này sẽ cung cấp cho chúng ta nhiều lựu chọn khác nhau để tiếp cận vấn đề về việc kiểm thử tự động cho các trường hợp Web/ Web app:
- Selenium Integrated Development Environment (IDE) được phát
triển dưới dạng một ứng dụng mở rộng (add-on) cho Mozilla Firefox phiên bản 2.0 trở lên Công cụ cung cấp chức năng Record and Playback
- Selenium Remote Control (RC) cho phép nhận các Test script được thu
bởi Selenium IDE, cho phép chỉnh sửa cải tiến linh động bằng ngôn ngữ lập trình khác nhau Sau đó khởi động một trong các trình duyệt Web được chỉ định
để thực thi kiểm tra trực tiếp trên trình duyệt đó Selenium RC còn cùng cấp khảnăng lưu lại kết quả kiểm tra
- Selenium Grid: Thực hiện phương pháp kiểm tra phân bổ, phối hợp nhiều kết quả Selenium RC để có thể thực thi trên nhiều trình duyệt web khác nhau trong cùng một lúc Selenium Grid cũng cho phép lưu lại kết quả kiểm tra
- Selenium Core: được tích hợp trong Selenium IDE, là một công cụ chạy
các testscript bằng Selenese Selenium có nhiều cách sử dụng khác nhau Chúng
ta có thể dùng Test Runner mode (Bot mode) sử dụng Selenium Core, cách này dùng các test case và test suite dưới dạng hàng trong file html Selenium RC là driven mode, ở đây các test case trong các ngôn ngữ lựa chọn (Java, C#, Python,Perl, Ruby…) Record mode sử dụng Selenium IDE để thu lại các thao tác và giao diện web
1.2 Cách tổ chức chương trình chạy với công cụ Selenium IDE
Trang 8sử dụng để phát triển các trường hợp kiểm thử Selenium Selenium IDE là một công cụ dễ sử dụng và thậm chí có thể được sử dụng bởi những người mới phát triển các test case tự động cho các ứng dụng web của họ Không có yêu cầu bất
kỳ thiết lập đặc biệt nào để bắt đầu với Selenium IDE Bạn chỉ cần thêm plugin
mở rộng của trình duyệt cụ thể Selenium IDE cung cấp cho bạn GUI dễ dàng đểghi lại các tương tác với trang web
Selenium IDE cho phép người dùng hoặc nhà phát triển tạo các test case vàchỉnh sửa nó sau này theo yêu cầu của họ Môi trường phát triển cũng cung cấp khả năng chuyển đổi các test case sang các ngôn ngữ lập trình khác nhau, giúp người dùng dễ dàng hơn và không bắt buộc phải biết một ngôn ngữ lập trình cụ thể
1.2.2 Các tính năng của Selenium IDE
Speed Control: Giúp kiểm soát tốc độ của các test case
Run All: Cho phép thực thi toàn bộ Test Suite
Step: Giúp bước vào từng lệnh cụ thể trong test script
Rollup: Giúp nhóm tất cả các lệnh Selenese lại với nhau và khiến chúng
thực thi như một thao tác đơn lẻ
1.2.3 Lợi ích của việc sử dụng Selenium IDE
Cung cấp cho bạn khả năng tự động ghi lại test case dựa trên tương tác với trình duyệt
Cung cấp cho các nhà phát triển tính linh hoạt cao hơn trong việc thực hiện các test case Nhà phát triển có thể chạy toàn bộ các bài kiểm thử baogồm nhiều test case hoặc thực hiện một môi trường kiểm thử duy nhất
Hoạt động trên cơ sở tập lệnh Selenese phong phú, giúp IDE hiểu những
gì cần làm
Cho phép các nhà phát triển kiểm thử đặt các điểm ngắt nhằm mục đích
gỡ lỗi các test case cụ thể
Các test case có thể được sử dụng lại bằng cách sử dụng lệnh Run
Việc sử dụng nhiều bộ định vị cho từng phần tử trong IDE đảm bảo thực thi thành công
1.2.4 Phân loại các lệnh Selenium
Các lệnh Selenium chủ yếu được phân loại thành ba loại:
Actions: Giúp thao tác hoặc thay đổi trạng thái của ứng dụng (ví dụ: nhấp vaò một số liên kết hoặc chọn tùy chọn từ một trang)
Trang 9giống như các điểm kiểm tra và nếu cả hai giá trị đều bằng nhau thì test case mới vượt qua hoặc nếu không là thất bại Do dó các Assertions giúp xác minh xem trạng thái của ứng dụng sau khi thực hiện test case có phù hợp với trạng thái mong muốn hay không Có 3 chế độ: Assert, Verify, WaitFor
1.2.5 Hạn chế của Selenium IDE
Không phù hợp để kiểm thử dữ liệu mở rộng
Không thể kiểm thử kết nối với cơ sở dữ liệu
Không thể xử lý phần động của các ứng dụng dựa trên web
Không hỗ trợ chụp ảnh màn hình kết quả thất bại
Không có tính năng tạo báo cáo kết quả
1.2.6 Hướng dẫn Download và cài đặt Selenium IDE
Bước 1: Mở trình duyệt (Firefox hoặc Chrome) và nhập URL
http://seleniumhq.org/
Bước 2: Click vào button “Download”, nó sẽ xuất hiện trang bao gồm tất cả các
bản phát hành mới nhất của tất cả các thành phần Selenium
Hình 1.1 Trang download công cụ Selenium IDE
Bước 3: Download mục Selenium IDE.
Bước 4: Selenium IDE chọn for Chrome, Firefox hoặc Edge Sau khi chọn
phiên bản và trình duyệt cài đặt, trang sẽ chuyển tới phần cài đặt tool trên từng trình duyệt (các tiện ích: extensions) và chọn thêm công cụ
Trang 10Hình 1.2 Trang lựa chọn trình duyệt
Bước 5: Khi trình duyệt được khởi động lại, chúng ta có thể thấy selenium IDE
được lập chỉ mục dưới thanh menu -> Web Developer -> Selenium IDE
Bước 6: Ngay sau khi mở Selenium IDE, cửa sổ Selenium IDE sẽ xuất hiện 1.2.7 Các tính năng của Selenium IDE
Hình 1.3 Trang Cửa sổ công cụ Selenium IDE
Trang 11- Menu Bar: Thanh menu được đặt ở vị trí cao nhất của cửa sổ Selenium IDE
Thanh menu thường bao gồm 5 mô-đun:
File Menu: Tạo mới, truy xuất, chuyển đổi và đóng mở các test case
Edit Menu: Hoàn tác, bỏ, sao chép, dán, xóa, và chọn tất cả các câu lệnh, bước test đang có
Actions Menu: Tùy chọn ghi lại, khởi chạy, tạm dừng, khôi phục hoặc cài đặt tốc độ test
Options Menu: Cài đặt chung (giá trị thời gian mặc định, mở rộng nâng cao, sao chép đường dẫn, tự động thêm assertTitle,…), định dạng sẵn có, lựa chọn thứ tự ưu tiên locator
Help Menu: bao gồm các tài liệu, thông tin hỗ trợ bổ sung cần thiết
- Base URL: Đây là nơi lưu trữ đường link của các trang web mà người dùng
từng truy cập Khi người sử dụng chỉ đưa ra lệnh “Open” chung, Base URL Bar
sẽ thực hiện chức năng điều hướng tới trang web đã được lưu sẵn trước đó Ngoài ra Base URL Bar đưa ra gợi ý trong quá trình tìm kiếm dựa trên các
dữ liệu đường link cũ đã có
- Toolbar: Toolbar cho phép chúng ta thực hiện các lệnh ghi đối với test case
như: bắt đầu, tạm dừng, bỏ qua, kết hợp, và thực thi kịch bản test
- Editor: Editor có chức năng thống kê lại theo đúng thứ tự các thao tác mà
chúng ta thực hiện Nhờ vậy, người dùng có thể theo dõi lại quá trình test
Có 2 cách để xem bản ghi Editor là: Tableview và Source View Trong đó, Table View là chế độ mặc định được cài đặt của selenium Bạn có thể chuyển sang Source View và xem dưới định dạng HTML
- Test case pane: Test case pane là hộp thoại phía bên trái khi người sử dụng
mở công cụ kiểm thử tự động mã nguồn mở selenium
Test case pane bao gồm tất cả test case được ghi lại bởi IDE Công cụ có khả năng mở nhiều hơn một test case vào cùng 1 thời điểm ở Test case pane và người dùng có thể dễ dàng trộn giữa các test case
Trạng thái thực hiện test case thành công sẽ được liệt kê và thông báo qua các màu sắc xanh hoặc đỏ: Màu đỏ tượng trưng cho việc chạy không thành công, màu xanh tượng trưng cho việc chạy test case thành công
Nó cũng thống kê số lượng test case được thực thi với số lượng các test casethất bại
- Log Pane: Người sử dụng có thể theo dõi thông tin các lệnh test đang thực
hiện một cách cụ thể trong Log Pane
Log Pane còn cho phép chúng ta xử lý và gỡ bỏ các lỗi kịp thời nếu xuất hiện thông báo Error hoặc Warn Do đó, message log cho phép user có thể debug– gỡ lỗi – các vấn đề trong trường hợp thực thi test case thất bại
- Reference Pane: Reference Pane đưa ra các mô tả ngắn gọn về các lệnh
Selenses được chọn hiện tại với các đối số chi tiết của nó
Ô nhập liệu để bạn có thể thay đổi/ chỉnh sửa giá trị của “lệnh” sao cho phù hợp
Trang 121.3 Áp dụng kiểm thử tự động với chức năng đăng nhập
- Bước 1: Khởi động công cụ Selenium IDE
Hình 1.4 Trang Công cụ Selenium IDE
- Bước 2: Chọn “Create a new project” rồi đặt tên cho Project
Hình 1.5 Trang đặt tên cho project
Trang 13- Bước 3: Sau khi khởi tạo project sẽ hiện ra cửa sổ sau Sau đó nhấn dấu “+”
ở dòng tests góc trái màn hình để khởi tạo testcase rồi đặt tên cho testcase đó
Hình 1.6 Trang test project
Hình 1.7 Trang tạo testcase
Trang 14- Bước 4: Nhập địa chỉ URL của trang cần test vào ô “Playback base URL” Sau đó nhấn vào nút Start recording được ký hiệu bằng ô “REC” ở góc trên bên phải cửa sổ.
Trang 15- Bước 6: Sau khi thực hiện đăng nhập như bình thường thì công cụ Selenium cũng đồng thời test từng bước đăng nhập cho chúng ta Ta có thể kiểm tra lại bất
kỳ bước nào bằng cách chọn dòng Command cần xem rồi nhấn biểu tượng kính lúp ở mục target
Hình 1.10 Trang kết quả test login
Trang 16CHƯƠNG 2: ĐẶC TẢ PHẦN MM 2.1 Giới thiệu phần mềm
Tên phần mềm: Website bán quần áo
Ngôn ngữ viết: Php Laravel
Frontend: ReactJS
Backend: NodeJS
Các chức năng chính của phần mềm:
Nhóm chức năng đối với khách hàng:
- Xem thông tin các sản phẩm cũng như lựa chọn sản phẩm yêu thích
- Quản lý tài khoản cá nhân
- Mua và thanh toán sản phẩm
- Kiểm tra đơn hàng
Nhóm chức năng đối với người quản lý:
- Quản lý tài khoản cá nhân
- Thêm, sửa, xóa các sản phẩm và nhà cung cấp
- Kiểm tra tình trạng đơn hàng
Mô tả phần mềm:
Hệ thống webside bán quần áo là một hệ thống giúp cho khách hàng có thểmua sắm những bộ quần áo hot theo mùa mà không cần phải đích thân đến tậnshop Hiện nay cùng với sự phát triển của CNTT có rất nhiều website bán hàngonline Website với các chức năng phụ vụ cho quá trình mua sắm tại gia dễ dàngnhanh gọn, giao diện người dùng dễ sử dụng và bắt mắt, hệ thống quản lý đachức năng Chính vì thế là sự ưu tiên và tiến đến sự thỏa mãn cho mục đích sửdụng Mục đích của đề tài là tạo ra website bán quần áo với đầy đủ chức năngxem, chỉnh sửa, đăng ký, báo cáo và quản lý nhằm hướng tới người gần gũinhất
Trang 172.2 Đặc tả yêu cầu phần mềm
2.2.1 Chức năng đăng nhập
2.2.1.1 Usecase Chức năng Đăng nhập
Hình 2.1 Biểu đồ usecase đăng nhập
2.2.1.2 Mô tả chức năng
Người sử dụng thực hiện thao tác đăng nhập vào hệ thống
2.2.1.3 Dòng sự kiện (Flow of events)
Hình 2.2 Biểu đồ dòng sự kiện đăng nhập
2.2.1.3.1 Dòng sự kiện chính (Basic Flow)
- Chức năng này thực hiện khi: Người dùng hoặc người quản lý muốn đăng nhậpvào hệ thống
quản lý của cửa hàng
Bước 1: Chọn đăng nhập hệ thống
Trang 18Bước 3: Điền thông tin đăng nhâp gồm:
- Thông tin không hợp lệ, thông báo đăng nhập thất bại, hỏi đăng nhập lại
- Chọn đăng nhập lại sẽ quay lại thao tác từ bước 2
Bước 6: Chọn chức năng đăng xuất sẽ thoát khỏi hệ thống
Bước 7: Kết thúc
2.2.1.3.2 Dòng sự kiện phụ ((Alternative Flow)
2.2.1.3.2.1 Duyệt dữ liệu thành công
- Nếu tác nhân đăng nhập thành công và muốn thoát khỏi hệ thống
- Lựa chọn chức năng đăng xuất - Kết thúc Use case
2.2.1.3.2.2 Duyệt dữ liệu không thành công
- Thông tin đăng nhập không hợp lệ
- Hệ thống thông báo hỏi, đăng nhập lại
- Đăng nhập lại: tác nhân điền lại thông tin đăng nhập
- Quá trình đăng nhập tiếp tục diễn ra như đã nêu trên
2.2.2 Chức năng quản lý sản phẩm
2.2.2.1 Usecase chức năng quản lý sản phẩm
Hình 2.3 Biểu đồ Usecase Quản lý sản phẩm
Trang 19Hình 2.4 Biểu đồ dòng sự kiện quản lý sản phẩm
2.2.2.3.1 Dòng sự kiện chính (Basic Flow)
- Chức năng này thực hiện khi: Người quản lý quản lý danh sách sản phẩm Bước 1: Chọn Quản lý danh sách sản phẩm
Bước 2: Hiển thị màn hình giao diện
Bước 3: Chọn một trong các chức năng
- Thêm mới
- Chỉnh sửa thông tin
- Xem chi tiết
- Tìm kiếm
Bước 4: Sau khi chọn chức năng thì hệ thống sẽ hiển thị form tương ứngBước 5: Nhập thông tin
Bước 6: Kiển tra và thực hiện chương trình
Bước 7: - Thông tin hợp lệ, hiển thị thông báo thành công
- Thông tin không hợp lệ, đưa ra thông báo và nhập lại thông tin nếu người dùng
2.2.2.3.2 Dòng sự kiện phụ ((Alternative Flow)
2.2.2.3.2.1 Duyệt dữ liệu thành công
- Nếu tác nhân thực hiện thành công chức năng mà thoát khỏi hệ thống
Trang 20- Thông tin nhập không thành công
- Thông báo và hệ thống đưa ra lựa chọn nhập lại
2.2.3 Chức năng Đăng bài của quản lý
2.2.3.1 Usecase chức năng Đăng bài
Hình 2.5 Biểu đồ usecase chức năng đăng bài
2.2.3.2 Mô tả chức năng
Quản lý thực hiện đăng bài viết bằng các chức năng Đăng bài
2.2.3.3 Dòng sự kiện (Flow of events)
Trang 21Hình 2.6 Biểu đồ dòng sự kiện chức năng đăng bài
2.2.3.3.1 Dòng sự kiện chính (Basic Flow)
- Chức năng này thực hiện khi: Người dùng muốn đăng bài viết thông báo cho sinh viên
Bước 1: Chọn Đăng bài
Bước 2: Hiển thị form Đăng bài
Bước 3: Nhập nội dung bài viết
- Thêm mới
- Chỉnh sửa thông tin
- Xem chi tiết
- Tìm kiếm
Bước 4: Sau khi chọn chức năng thì hệ thống sẽ hiển thị form tương ứngBước 5: Nhập thông tin
Bước 6: Kiển tra và thực hiện chương trình
Bước 7: - Thông tin hợp lệ, hiển thị thông báo thành công
- Thông tin không hợp lệ, đưa ra thông báo và nhập lại thông tin nếu người dùng
2.2.3.3.2 Dòng sự kiện phụ ((Alternative Flow)