



















Preview text:
TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN
KIỂM THỬ PHẦN MỀM ĐỀ TAI:
KIỂM THỬ WEBSITE ĐỆM PHAN THẮNG
Sinh viên thực hiện : PHAN ĐỨC THẮNG
Giảng viên hướng dẫn : LÊ THỊ TRANG LINH Ngành
: CÔNG NGHỆ THÔNG TIN Chuyên ngành
: CÔNG NGHỆ PHẦN MỀM Lớp : D14CNPM4 Khóa : 2018-2023
Hà Nội, tháng 01 năm 2022 PHIẾU CHẤM ĐIỂM STT Họ và tên Nội dung Điể Chữ ký sinh viên thực hiện m 1 Phan Đức . Thắng Họ và tên giảng Chữ ký Ghi chú viên Giảng viên chấm 1: Giảng viên chấm 2: MỤC LỤC LỜI CẢM ƠN
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ợ, sự giúp đỡ dù ít hay nhiều, dù là trực tiếp hay gián tiếp của người khác. Trong
suốt thời gian từ khi bắt đầu học tập, chúng em đã nhận được rất nhiều sự quan tâm,
giúp đỡ của Thầy Cô, gia đình và bạn bè.
Chúng em xin chân thành cám ơn cô Lê Thị Trang Linh đã tận tâm hướng dẫn
chúng em qua từng buổi học trên lớp cũng như những buổi nói chuyện, thảo luận về
môn học. Trong thời gian được học tập và thực hành dưới sự hướng dẫn của thầy cô,
chúng em không những thu đượ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 phần mềm”.
Nếu không có những lời hướng dẫn, dạy bảo của thầy cô thì chúng em nghĩ báo cáo
này của chúng em rất khó có thể hoàn thành được.
Em xin chân thành gửi lời cảm ơn sâu sắc tới các thầy, các cô đã tận tình giảng
dạy và truyền đạt cho chúng em những kiến thức, kinh nghiệm quý báu trong suốt
thời gian học tập và rèn luyện.
Sau cù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ủa mình là truyền đạt
kiến thức cho thế hệ mai sau.
Em xin xin chân thành cảm ơn! LỜI MỞ ĐẦU
Ngày nay công nghệ thông tin đang ngày càng phát triển nhanh chóng, kéo theo
đó là hệ thống mạng, các phần mềm cũng gia tăng cả về số lượng theo quy mô rộng
và cả về chất lượng phần mềm. Nhưng cũng từ đó đã nảy sinh ra nhiều vấn đề về lỗi
hỏng hóc phần mềm không đáng có gây ra các ảnh hưởng nghiêm trọng đến xã hội,
kinh tế, . . Những lỗi này có thể do tự bản thân phần mềm bị hỏng do không được
kiểm duyệt kĩ lưỡng trước khi đưa cho người dùng cuối hay cũng có thể do có người
cố tình phá hoại nhằm đánh cắp thông tin cá nhân. Những vấn đề nan giải và cấp thiết
này càng có xu hướng mở rộng trong các năm gần đây. Từ đây ta dễ dàng nhận ra là
mặc dù phần mềm phát triển ngày càng phức tạp nhưng vấn đề chất lượng vẫn là một
dấu hỏi lớn cần xem xét cẩn thận.
Do đó yêu cầu đặt ra là cần có công tác kiểm thử phần mềm thật kĩ lưỡng nhằm
ngăn chặn các lỗi hay hỏng hóc còn tiềm tàng bên trong phần mềm mà ta chưa kịp
nhận ra. Tuy nhiên vì phần mềm ngày càng lớn, hàng nghìn module, có thể do cả một
công ty hàng nghìn người phát triển vì vậy để kiểm thử được một phần mềm lớn như
vậy sẽ tốn rất nhiều công sức và thời gian nếu làm thủ công, chưa kể đến chất lượng
kiểm thử sẽ không cao và chính xác. Theo nhiều tính toán thì công việc kiểm thử
đóng vai trò hết sức quan trọng trong quy trình phát triển phần mềm. Vì vậy, cần có
các hệ thống kiểm thử phần mềm một cách tự động cho phép ta thực hiện được các
công việc một cách nhanh chóng và độ an toàn, chính xác cao nhất có thể. Và đó
chính là lý do để em quyết định thực hiện đề tài: “Kiểm thử phần mềm quản lý cửa hàng đồ phượt”.
CHƯƠNG 1: CÔNG CỤ KIỂM THỬ TỰ ĐỘNG TESTCOMPLETE
1.1 Giới thiệu về công cụ kiểm thử tự động TestComplete
1.1.1 Kiểm thử hiệu năng là gì?
Kiểm thử hiệu năng là 1 loại kiểm thử phi chức năng, được sử dụng để đánh giá
về khả năng đáp ứng cũng như hành vi của hệ thống với các khối lượng công việc
khác nhau. Một ứng dụng được thử nghiệm cho phép người dùng cuối thực hiện một
tác vụ nhất định mà không bị trì hoãn quá lâu. Một ứng dụng có hiệu năng tốt nếu nó
có thời gian phản hồi (response time) tốt. Vì vậy, khả năng đáp ứng của một ứng dụng
đóng một vai trò rất quan trọng giống như giao diện và chức năng của người dùng, vì
ngày nay người dùng rất khắt khe và muốn mọi thứ được nhanh chóng.
Một trang web chậm sẽ dẫn đến sự trải nghiệm người dùng không tốt và có tác
động tiêu cực đến tài chính. Ngay cả sự chậm trễ tính bằng giây, trong một thời gian
quá dài có thể dẫn đến việc mất một khoản doanh thu lớn. Do đó, việc kiểm thử hiệu
năng của các trang web rất được chú trọng. Để kiểm tra hiệu năng của một trang web,
hiện nay đã có rất nhiêu công cụ để kiểm thử, ví dụ như TestComplete, Selenium,
WebLoad, LoadView và rất nhiều công cụ nữa.
Sự quan trọng của việc kiểm thử hiệu năng:
- Giúp tìm ra các điểm nghẽn tiềm năng của hệ thống.
- Sự chậm chạp của một ứng dụng hay hệ thống có thể thấy được ở việc tải nặng.
- Biết được hệ thống hay ứng dụng có thể đáp ứng được bao nhiêu người dùng song song.
- Giúp tìm ra được những tác động về hiệu năng sau mỗi bản vá, sửa đổi.
1.1.2 TestComplete là gì?
TestComplete là một tự động kiểm tra công cụ, với sự hỗ trợ vô song cho đơn vị,
chức năng, quy trình phục hồi, phân phối và kiểm tra hiệu suất HTTP ở cấp độ dự án.
Được thiết kế cho những người thử nghiệm tiên tiến và người mới, TestComplete sẽ
giúp bạn đạt được Bảo đảm chất lượng kỹ lưỡng trong quá trình phát triển từ dòng mã
đầu tiên thông qua giao hàng và bảo trì
Nó có thể hỗ trợ cho nhiều trình lập ngữ như VBScript, Python, JavaScript.
Công cụ này có thể cung cấp các kỹ thuật thử nghiệm khác nhau như thử nghiệm theo
hướng từ khóa, thử nghiệm theo hướng dữ liệu, thử nghiệm hồi quy và thử nghiệm phân tán.
1.1.3 Đặc điểm của TestComplete
- Kiểm tra từ khóa: TestComplete có trình chỉnh sửa kiểm tra theo hướng từ khóa
được tích hợp sẵn bao gồm các hoạt động từ khóa tương ứng với các hành động kiểm tra tự động.
- Kiểm tra theo tập lệnh: TestComplete có một trình soạn thảo mã tích hợp giúp
người kiểm tra viết các tập lệnh theo cách thủ công. Nó cũng bao gồm một tập
hợp các trình cắm thêm đặc biệt.
- Bản ghi kiểm tra và phát lại: TestComplete ghi lại các hành động chính cần
thiết để phát lại kiểm tra và loại bỏ tất cả các hành động không cần thiết.
- Kiểm tra phân tán: TestComplete có thể chạy một số kiểm tra tự động trên các
máy trạm hoặc máy ảo riêng biệt.
- Quyền truy cập vào các phương thức và thuộc tính của đối tượng bên trong:
TestComplete đọc tên của các phần tử hiển thị và nhiều phần tử bên trong của
các ứng dụng Delphi, C ++ Builder, .NET, WPF, Java và Visual Basic và cho
phép các tập lệnh thử nghiệm truy cập các giá trị này để xác minh hoặc sử dụng trong các thử nghiệm.
- Tích hợp theo dõi lỗi: TestComplete bao gồm các mẫu theo dõi vấn đề có thể
được sử dụng để tạo hoặc sửa đổi các mục được lưu trữ trong hệ thống theo dõi
vấn đề. TestComplete hiện hỗ trợ Microsoft Visual Studio 2005, 2008, 2010
Team System, BugZilla, Jira và AutomatedQA AQdevTeam.
- Kiểm tra theo hướng dữ liệu: Kiểm tra theo hướng dữ liệu với TestComplete có
nghĩa là sử dụng một thử nghiệm duy nhất để xác minh nhiều trường hợp thử
nghiệm khác nhau bằng cách lái thử nghiệm với các giá trị đầu vào và giá trị
mong đợi từ nguồn dữ liệu bên ngoài thay vì sử dụng các giá trị được mã hóa
cứng giống nhau mỗi khi thử nghiệm chạy.
- Dựa trên COM, Kiến trúc mở: Công cụ của TestComplete dựa trêngiao diện
API, COMmở. Nó độc lập với ngôn ngữ nguồn và có thể đọc thông tin trình gỡ
lỗi và sử dụng nó trong thời gian chạy thông qua Tác nhân thông tin gỡ lỗi TestComplete.
- Test Visualizer - TestComplete tự động chụp ảnh chụp màn hình trong quá
trình ghi và phát lại thử nghiệm. Điều này cho phép so sánh nhanh giữa màn
hình dự kiến và màn hình thực tế trong quá trình thử nghiệm.
- Tiện ích mở rộng và SDK - Mọi thứ hiển thị trong TestComplete - bảng điều
khiển, các mục dự án, đối tượng tập lệnh cụ thể và những thứ khác - đều được
triển khai dưới dạng trình cắm thêm. Các trình cắm này được bao gồm trong
sản phẩm và được cài đặt trên máy tính của bạn cùng với các mô-đun
TestComplete khác. Bạn có thể tạo các trình cắm thêm của riêng mình để mở
rộng TestComplete và cung cấp chức năng cụ thể cho nhu cầu của riêng bạn. Ví
dụ: bạn có thể tạo trình cắm hoặc sử dụng trình cắm của bên thứ ba để:
- Hỗ trợ cho các điều khiển tùy chỉnh
- Hoạt động kiểm tra từ khóa tùy chỉnh
- Các đối tượng kịch bản mới
- Các điểm kiểm tra tùy chỉnh
- Các lệnh để xử lý kết quả thử nghiệm - Bảng điều khiển - Hạng mục dự án
- Các mục menu và thanh công cụ
1.1.4 Cách thức hoạt động của TestComplete
TestComplete được sử dụng để tạo và tự động hóa nhiều loại kiểm thử phần
mềm khác nhau. Quá trình tạo kiểm tra ghi và phát lại ghi lại người kiểm tra thực hiện
kiểm tra thủ công và cho phép nó được phát lại và duy trì lặp đi lặp lại dưới dạng
kiểm tra tự động. Người thử nghiệm có thể sửa đổi các bài kiểm tra đã ghi lại sau đó
để tạo các bài kiểm tra mới hoặc nâng cao các bài kiểm tra hiện có với nhiều trường hợp sử dụng hơn.
Do đó, với sự trợ giúp của TestComplete chúng ta có thể mô phỏng một lượng
tải lớn trên server, network hay là các đối tượng đến từ các máy khác nhau để thực
hiện kịch bản tương tự như ngoài đời.
1.1.5 Ngôn ngữ viết
- TestComplete được phát triển dựa vào ngôn ngữ Java. Do đó, nó là nền tảng
độc lập và hỗ trợ tất môi trường.
- TestComplete có thể hỗ trợ cài đặt trên nhiều hệ điều hành như: Windows, IOS, Android….
1.2 Cách tổ chức chương trình chạy với TestComplete
1.2.1 Cài đặt TestComplete trên Window
Download => TestComplete có thể được tải xuống từ trang chủ của SmartBear:
https:/ smartbear.com/product/testcomplete/free-trial/
Sau khi tải xuống, hãy làm theo các bước sau để cài đặt TestComplete
1) Nhấp đúp vào gói cài đặt TestComplete đã tải xuống. Cài đặt phần mềm sẽ
bắt đầu và thỏa thuận cấp phép sẽ được hiển thị.
2) Chỉ định đường dẫn của thư mục mà bạn muốn cài đặt phần mềm.
Hình 1.1: Cài đặt Testcomplete.
3) Bây giờ, hộp thoại chào mừng được hiển thị để yêu cầu kích hoạt giấy phép,
chúng ta có thể bắt đầu bằng cách nhấp vào giấy phép dùng thử 30 ngày.
4) Sau đó khởi động lại máy tính, chúng ta đã hoàn tất quá trình cài đặt TestComplete.
Hình 1.2: Giao diện Testcomplete. - Quy trình làm việc:
Khi chúng ta bắt đầu thực hiện kiểm thử hiệu năng cho 1 ứng dụng,
Testcomplete sẽ sinh ra các requests gửi đến server đích và mô phỏng số lượng
người dùng gửi request đến server đích. Ngay khi máy chủ bắt đầu phản hồi lại
các request, Testcomplete sẽ lưu tất cả các phản hồi này. Dựa trên các dữ liệu
phản hồi, Testcomplete sẽ thu thập tập hợp để tính toán thông tin thống kê. Cuối
cùng, bằng cách sử dụng các thông tin thống kê này, Testcomplete sẽ tạo ra một
báo cáo cho người dùng về hiệu năng của hệ thống vừa thực hiện.
Hình 1.3: Quy trình làm việc của Testcomplete.
1.3 Sử dụng TestComplete kiểm thử chức năng đăng nhập
a. Trường hợp sai mật khẩu
Mô tả: Nhập đúng tên tài khoản nhưng sai password, hệ thống sẽ trả về toast warning
thông báo tài khoản hoặc mật khẩu bị sai.
Hình 1.4: Nhập sai tài khoản
Hình 1.5: Nhập sai password
Hình 1.6: Chọn đăng nhập
Hình 1.7: Hệ thống thông báo nhập sai tài khoản hoặc mật khẩu
Màn hình kết quả trong công cụ testcomplete: Do nhập sai mật khẩu nên trang không
điều hướng đến trang chủ, hệ thống trả về trang đăng nhập.
Hình 1.8: Kết quả kiểm thử đăng nhập không thành công
b. Trường hợp nhập đúng tài khoản và mật khẩu
Mô tả: Sau khi hệ thống kiểm tra đã nhập đúng tài khoản hay chưa, nếu nhập đúng hệ
thống cho phép login và điều hướng đến trang chủ.
Hình 1.9: Nhập đúng tài khoản
Hình 1.10: Nhập đúng password
Hình 1.11: Chọn đăng nhập
Hình . Hệ thống chuyển hướng đến trang chủ
Màn hình kết quả kiểm thử đăng nhập thành công trong testcomplete:
Hình .Màn hình kết quả
Sau khi login thành công, hệ thống sẽ điều hướng đến trang chủ.
CHƯƠNG 2: ĐẶC TẢ PHẦN MỀM
2.1 Website bán hàng của cửa hàng đệm Phan Thắng
2.1.1 Giới thiệu về phần mềm
WebSite Đệm Phan Thắng là một website giúp mọi người quanh thái bình có
thể tra cứu thông tin và mua hàng trực tiếp ngay tại cửa hàng mà không cần qua bên
trung gian được hưởng giá đệm sát với giá gốc được ship tạn nhà.
Website giải quyết được vẫn đề của mọi người khi không có kiến thức về sưa chưa
biết lựa chọn loại đệm nào thì bên website của chúng em có công cụ giúp các bà nội
trợ có thể lựa chọn được loại sữa phú hợp cho cả gia đình cửa mình với giá cả hợp lý
và chất lượng cao đến từ những cty đệm hàng đầu việt nam và cả thế giới.
2.1.2 Các chức năng của phần mềm
Trang web bao gồm các chức năng sau: - Đăng nhập, đăng xuất - Quản lý khách hàng - Quản lý sản phẩm - Quản lý Đơn hàng - Thống kê và báo cáo - Comment sản phẩm
2.2 Đặc tả yêu cầu của phần mềm
2.2.1 Đặc tả yêu cầu chức năng
2.2.1.1 Chức năng đăng nhập, đăng xuất
Khi truy cập vào hệ thống, cửa hàng và người dung cần tài khoản để đăng nhập
vào hệ thống. Hệ thống sẽ hiển thị các chức năng quản lý riêng cho từng đối tượng đăng nhập. a. Use case
Hình . Use case đăng nhập
➢ Đặc tả use case đăng nhập, đăng xuất
• Tác nhân: Quản lý cửa hàng, nhân viên
• Mô tả: Mỗi khi tác nhân sử dụng hệ thống quản lý thì cần thực
hiện chức năng đăng nhập vào hệ thống. Khi dùng xong phần mềm
thì đăng xuất tài khoản ra khỏi phần mềm quản lý. • Dòng sự kiện chính:
- Tác nhân yêu cầu giao diện đăng nhập vào hệ thống
- Hệ thống hiển thị giao diện đăng nhập cho tác nhân
- Tác nhân sẽ: cập nhật tên đăng nhập (username) và mật khẩu (password).
- Hệ thống kiểm tra dữ liệu và xác nhận thông tin từ tác nhân gửi vào hệ thống.
- Thông tin đúng thì hệ thống gửi thông báo và đưa tác nhân vào hệ thống chính.
- Kết thúc use case đăng nhập. • Dòng sự kiện phụ:
- Sự kiện 1: Nếu tác nhân đăng nhập đúng, nhưng lại muốn
thoát khỏi hệ thống. Hệ thống thông báo thoát bằng cách
đăng xuất kết thúc use case.
- Sự kiện 2: Nếu tác nhân đăng nhập sai. Hệ thống thông báo
đăng nhập lại hoặc thoát. Sau khi tác nhân chọn thoát, kết thúc use case.
• Các yêu cầu đặc biệt: không có
• Trạng thái hệ thống trước khi sử dụng use case: không có yêu cầu
• Trạng thái hệ thống sau khi sử dụng use case:
- Nếu đăng nhập thành công: Hệ thống sẽ gửi thông báo “Bạn
đã đăng nhập thành công!!!” và hiện thị giao diện chính cho
tác nhân thực hiện các chức năng khác.
- Nếu đăng nhập thất bại: Hệ thống cũng sẽ gửi thông báo
“Bạn đã đăng nhập thất bại!!!” và quay lại chức năng đăng
nhập cho bạn đăng nhập lại thông tin của mình.
b. Biểu đồ hoạt động
➢ Chức năng đăng nhập:
A. Người thực hiện: Bộ phận quản lý hoặc nhân viên
B. Điều kiện kích hoạt: Bộ phận quản lý, nhân viên hoặc các đơn vị
thành viên đăng nhập vào chức năng quản lý sự kiện cảu hệ thống.
C. Sơ đồ luồng nghiệp vụ cơ bản:
Hình . Biểu đồ hoạt động chức năng đăng nhập
D. Mô tả các bước trong luồng nghiệp vụ cơ bản
- Bước 1: Bộ phân quản lý, nhân viên hoặc các đơn vị thành viên
đăng nhập vào hệ thống hoặc sử dụng các chức năng khác khi
chưa được cấp quyền đăng nhập (yêu cầu chức năng đăng nhập).
- Bước 2: Bộ phân quản lý, nhân viên nhập dữ liệu: ▪ Tài khoản ▪ Mật khẩu
- Bước 3: Kiểm tra dữ liệu đầu vào bao gồm:
▪ Tài khoản, mật khẩu chỉ được chứa các ký tự chữ cái, số
và một vài ký tự đặc biệt khác được cho phép
▪ Hợp lệ: chuyển sang bước 4
▪ Không hợp lệ: chuyển sang bước 2
- Bước 4: Kiểm tra đăng nhập:
▪ Hợp lệ: chuyển sang bước 5
▪ Không hợp lệ: chuyển sang bước 2
- Bước 5: Cấp quyền đăng nhập với quyền tương ứng với tài khoản. - Bước 6: Kết thúc
➢ Chức năng đăng xuất:
A. Người thực hiện: Bộ phận quản lý hoặc nhân viên
B. Điều kiện kích hoạt: Bộ phận quản lý, nhân viên hoặc các đơn vị
thành viên đã đăng nhập hệ thống yêu cầu chức năng đăng xuất
C. Sơ đồ luồng nghiệp vụ cơ bản:
Hình . Biểu đồ hoạt động chức năng đăng xuất
D. Mô tả các bước trong luồng nghiệp vụ cơ bản
- Bước 1: Bộ phận quản lý, nhân viên hoặc các đơn vị
thành viên yêu cầu chức năng đăng xuất
- Bước 2: Hệ thống kiểm tra đăng nhập:
▪ Đã đăng nhập: chuyển sang bước 3
▪ Chưa đăng nhập: chuyển sang bước 5
- Bước 3: Xác nhận yêu cầu:
▪ Xác nhận: Chuyển về bước 4
▪ Không xác nhận: Tiếp tục sử dụng hệ thống và chuyển sang bước 5 - Bước 4: Đăng xuất
▪ Ngắt kết nối hệ thống và lưu lại dữ liệu - Bước 5: Kết thúc
2.2.1.2 Chức năng quản lý nhân viên
- Nhân viên của cửa hàng bao gồm: 1 quản lý, 2 nhân viên bán hàng, 1
nhân viên thu ngân, 1 nhân viên chăm sóc khách hàng, 3 nhân viên kho