- Chủ đề nghiên cứu là sử dụng công cụ kiểm thử tự động để kiểm thử website học Tiếng Anh.. Vì kiểm thử tự động là công cụ dễ sử dụng, tiện lợi, giúp tiết kiệm thời gian, giảm chi phí vì
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA: CNTT -
BÁO CÁO HỌC PHẦN KIỂM
Trang 2Hà Nội – Năm 2021
Trang 3Mục lục
PHẦN 1 MỞ ĐẦU
PHẦN 2 KẾT QUẢ NGHIÊN CỨU
2.1 TỔNG QUAN
2.2 TÌM HIỂU CÔNG CỤ KIỂM THỬ PHẦN NỀM
2.2.1 Giới thiệu công cụ
2.2.2 Đặc điểm
2.2.3 Cài đặt và sử dụng công cụ Test Project
2.3 Giới thiệu phần mềm Test Project
2.3.1 Giới thiệu
2.4.1.1 Đặc tả yêu cầu chức năng (Functional)
2.4.1.2 Đặc tả yêu cầu phi chức năng (Non Functional)
2.4 Kiểm thử phần mềm Test Project
2.4.1.1 Chiến lược kiểm thử
2.4.1.2 Tài nguyên
2.4.1.3 Các mốc kiểm soát giai đoạn test
2.4.2.1 Phân tích thiết kế kiểm thử
2.4.2.2 Thực hiện kiểm thử
2.4.3.1 Phân tích thiết kế kiểm thử
2.4.3.2 Thực hiện kiểm thử
2.4.4.1 Phân tích thiết kế kiểm thử
2.4.4.2 Thực hiện kiểm thử
2.4.5.1 Phân tích thiết kế kiểm thử
2.4.5.2 Thực hiện kiểm thử
2.4.6.1 Phân tích thiết kế kiểm thử
2.4.6.2 Thực hiện kiểm thử
2.4.7.1 Phân tích thiết kế kiểm thử
2.4.7.2 Thực hiện kiểm thử
2.4.8.1 Phân tích thiết kế kiểm thử
Trang 4- Chủ đề nghiên cứu là sử dụng công cụ kiểm thử tự động để
kiểm thử website học Tiếng Anh.
Vì kiểm thử tự động là công cụ dễ sử dụng, tiện lợi, giúp tiết kiệm thời gian, giảm chi phí vì thực hiện cùng một hành động kiểm thử nhiều lần, không chỉ mấtnhiều thời gian hơn mà còn làm giảm hiệu quả của người kiểm thử
Một lợi ích lớn khác của việc kiểm thử tự động là khả năng sử dụng lại các tập lệnh kiểm thử Viết các trường hợp kiểm thử hiệu quả đòi hỏi rất nhiều thời gian và công sức, và để viết các trường hợp kiểm thử tương tự một lần nữa có thể khiến một người kiệt sức về tinh thần Với các công cụ kiểm thử tự động, tập lệnh kiểm thử có thể được sử dụng lại nhiều lần khi bạn cần, và tiết kiệm cả thời gian và công sức cho bạn.
Trong trường hợp kiểm thử thủ công, tester phải báo cáo cho nhau bằng tay
để biết có bao nhiêu test scripts đã được viết và bao nhiêu lỗi đã được sửa
Trang 5Toàn bộ quá trình rất cồng kềnh và dẫn đến sự phụ thuộc lẫn nhau Báo cáo kiểm thử giúp bạn phân tích hàng trăm trường hợp kiểm thử dễ dàng.
Khả năng thực hiện kiểm thử trên nhiều nền tảng song song: Khi phát triển một trang web, điều cần thiết là đảm bảo khả năng tương thích trên các trình duyệt, phần cứng, hệ điều hành, mạng và thiết bị di động khác nhau.
Để có thể kiểm thử tốt thì cần có các kĩ năng chuyên môn: Lập bảng điều kiện theo phương pháp phân vùng hoặc giá trị tương đương Tạo các
testcase kiểm thử giao diện, các testcase function, testcase data Từ đó ta có file để nhập vào cho công cụ kiểm thử tự động thực hiện quá trình kiểm thử.
- Kỹ năng then chốt phải đạt được mục chuẩn đầu ra của học phần : + Trau dồi kiến thức liên tục, không chỉ kiến thức của ngành công nghệ thông tin mà còn là kiến thức đa ngành nghề khác để bổ trợ cho công việc + Cập nhật những xu hướng cũng như những công nghệ mới để có thể đưa ra được những bản kiểm thử sâu xa và vượt qua những yêu cầu khách hàng đã đặt ra từ trước
+ Tính luôn tò mò, thắc mắc, đặt ra câu hỏi cho các vấn đề, các phần mềm để có thể góp phần tại ra 1 sản phẩm có chất lượng nhất.
+ Tính kiên trì với công việc, kiên trì đặt ra các câu hỏi sâu để cải thiện sản phẩm của nhóm.
+ Kĩ năng giao tiếp, khả năng giao tiếp để có thể là cầu nối giữa kháchhàng và team thiết kế phần mềm, có thể truyền đạt được những kiến thức đặcthù ngành tới cho khách hàng 1 cách dễ hiểu những như là đơn giản nhất
Kết luận: Tất cả các kĩ năng trên không phải ngày một ngày hai mà có được
vì thế chúng ta luôn phải rèn luyện mỗi ngày để tạo ra một bản kiểm thử tốt nhất, chuẩn đầu ra.
PHẦN 2 KẾT QUẢ NGHIÊN CỨU
- Trình bày những nhiệm vụ, công việc chính khi thực hiện Tiểu luận, Bài tập lớn, Đồ án/Dự án và kết quả đạt được.
- Mô tả sản phẩm nghiên cứu theo chủ đề được giao trong quá trình thực hiện Tiểu luận, Bài tập lớn, Đồ án/Dự án, bao gồm:
Trang 6mục tài liệu tham khảo.
2.1 TỔNG QUAN
Kiểm thử phần mềm là rất quan trọng vì những lý do sau:
1 Kiểm thử phần mềm là thực sự cần thiết vì nó chỉ ra những khiếm khuyết và sai sót đã được thực hiện trong giai đoạn phát triển
2 Nó quan trọng vì nó đảm bảo độ tin cậy của khách hàng và sự hài lòng của họ trong ứng dụng.
3 Nó là rất quan trọng vì nó đảm bảo chất lượng của sản phẩm Chất lượng sản phẩm giao cho khách hàng giúp trong việc đạt được sự tự tin của họ (Biết thêm về chất lượng phần mềm )
4 Kiểm thử là cần thiết vì nó cung cấp các tiện nghi cho khách hàng như giao hàng sản phẩm chất lượng cao hoặc các ứng dụng phần mềm
mà đòi hỏi chi phí bảo trì thấp hơn và do đó kết quả vào kết quả chính xác hơn, phù hợp và đáng tin cậy.
5 Kiểm thử là cần thiết cho một hoạt động hiệu quả của ứng dụng phần mềm hoặc sản phẩm.
6 Điều quan trọng là để đảm bảo rằng các ứng dụng không có bất kỳ kết quả nào thất bại, bởi vì nó có thể rất đắt tiền trong tương lai hoặc trong các giai đoạn sau của sự phát triển.
7 Đó là yêu cầu thiết yếu giúp sản phẩm tồn tại trong kinh doanh.
Có 6 giai đoạn trong kiểm thử phần mềm đã học:
1 Requirement analysis – Phân tích yêu cầu
2 Test planning – Lập kế hoạch kiểm thử
3 Test case development – Thiết kế kịch bản cho quy trình kiểm thử
4 Test environment set up – Thiết lập môi trường kiểm thử
5 Test execution – Thực hiện kiểm thử
6 Test cycle closure – Đóng chu trình kiểm thử
Các kỹ thuật kiểm thử phần mềm:
1 Phân vùng tương đương (Equivalence Class Partitioning)
2 Phân tích giá trị biên (Boundary Value Analysis (BVA) )
3 Bảng hỗ trợ quyết định quyết định (Decision Table based testing)
4 Kiểm thử điều hướng người dùng (User Navigation Testing)
5 Kiểm thử giao diện (Transaction Screen Testing)
6 Kiểm thử màn hình báo cáo (Report Screen Testing)
7 Kiểm thử luồng báo cáo (Report Flow Testing)
Trang 78 Kiểm thử việc Database Create/Retrieve/Update/Delete Testing.
9 Kiểm thử hệ thống: Kiểm thử sự trôi chảy (dễ dùng), Kiểm thử dung lượng, Kiểm thử chịu tải, Kiểm thử khả dụng, Kiểm thửu bảo mật, Kiểm thử hiệu năng, Kiểm thử lưu trữ, Kiểm thử cấu hình, Kiểm thử tính tương thích/ chuyển đổi/cấu hình, Kiểm thử cài đặt, Kiểm thử độ tin cậy, Kiểm thử phục hồi, Kiểm thử dịch vụ, Kiểm thửu tài liệu, Kiểm thử thủ tục.
2.2 TÌM HIỂU CÔNG CỤ KIỂM THỬ PHẦN NỀM
2.2.1Giới thiệu công cụ
Kiểm thử tự động: Là xử lý một cách tự động các bước thực hiện các
testcase, kiểm thử tự động bằng một công cụ nhằm rút ngắn thời gian kiểm thử.Kiểm thử tự động: là một kỹ thuật tự động trong đó người kiểm thử tự viết các tập lệnh và sử dụng phần mềm phù hợp để kiểm thử phần mềm Nó về cơ bản là một quá trình tự động hóa của một quy trình kiểm thử thủ công Giống như kiểm thử hồi quy, kiểm thử tự động cũng được sử dụng để kiểm thử ứng dụng theo quan điểm tải, hiệu năng và ứng suất
Sự phát triển của công cụ kiểm thử Test Project: TestProject là một công cụ tự động hóa mạnh mẽ nhằm đơn giản hóa trải nghiệm kiểm thử tự động của bạn Nó cũng cho phép cả đội,nhóm tiếp cận đầy đủ về chất lượng bằng cách cho phép cộng tác hiệu quảtrên các giải pháp kiểm thử tự động
TestProject là một công cụ định hướng cộng đồng và có gói vĩnh viễn miễn phí vớiđầy đủ tính năng và bạn có thể bắt đầu sử dụng trong giây lát
2.2.2Đặc điểm
- TestProject được xây dựng trên các công cụ tự động hóa
nguồn mở như Selenium và Appium
- Phiên bản của Test Project: Test Project v3.4.0
- Test Project là công cụ hỗ trợ kiểm thử tự động Các ngôn ngữ lập trình chương trình phần mềm kiểm thử cài đặt: Java, C#, Python, JavaScript.
Nội dung trình bày ở đây : Nêu đặc điểm công cụ:
- công cụ mã nguồn mở hay đóng;
- phiên bản mới
- công cụ hỗ trợ các loại kiểm thử nào và ngôn ngữ
lập trình chương trình phần mềm kiểm thử cài đặt
- đặc điểm khác nếu có …
(Kiểu Normal - Font Times New Roman 13, justified)
2.2.3Cài đặt và sử dụng công cụ Test Project
- Hệ điều hành công cụ Test Project được cài đặt trên:
Windows, Mac, Linux, Docket
Trang 8- Các yêu cầu về phần cứng hay phần mềm hỗ trợ:
• Bộ vi xử lý hỗ trợ bộ chỉ dẫn SSE2
• CD-/DVD-ROM (đê cai đăt tư đia CD)
• 270 MB không gian đia trông trên ô đia cưng
• Truy câp internet
• Microsoft Internet Explorer 8.0 hoăc cao hơn
• Microsoft Windows Installer 3.0 trơ lên
• Microsoft.NET Framework 4 hoăc cao hơn
• Bô vi xư ly vơi xung nhip 1 GHz hoăc cao hơn
• 1 GB RAM (Hê điêu hanh 32-bit); 2 GB RAM (Hê điêu hanh 64-bit)
• Microsoft Edge phiên ban 20.x – 25.x trơ lên
• Mozilla Firefox phiên bản 52.x – 60.x trở lên
• Mozilla Firefox ESR 52.x
• Google Chrome phiên bản 44.x – 52.x
Trang 9Giới thiệu phần mềm Test Project
2.2.4Giới thiệu
Giới thiệu tên phần mềm: Test Project
Phần mềm được xây dựng vì:
+ Dễ dàng để bắt đầu Trình ghi TestProject là một công cụ ghi
và phát lại mạnh mẽ và dễ sử dụng, giúp bạn bắt đầu làm các bài kiểm tra với một đường cong học tập tối thiểu.
+ Hợp tác toàn đội Tự động hóa kiểm tra hoạt động tốt nhất khi cả nhóm có thể làm việc cùng nhau trên cùng một nền tảng TestProject giúp cho việc chia sẻ các bài kiểm tra giữa các thành viên trong nhóm trở nên dễ dàng và đơn giản
+ Khả năng mở rộng Có một thư viện các phần bổ trợ được chia
sẻ có sẵn để giúp bạn mở rộng các khả năng mặc định của TestProject Với tư cách là một nhóm, bạn cũng có thể tạo các chương trình bổ trợ của riêng mình để đơn giản hóa công việc bạn đang làm.
+ Tích hợp vào quy trình công việc hiện có TestProject có một API mà bạn có thể sử dụng để chạy nó trong quy trình tích hợp liên tục hiện có Nó cũng có SDK dành cho nhà phát triển cho phép bạn tạo các thử nghiệm hoặc nhập các thử nghiệm hiện có mà bạn có thể có vào nền tảng
+ Trình duyệt chéo và Nền tảng chéo Bạn có thể tạo và chạy các thử nghiệm di động (Android và iOS) và TestProject có thể được cài đặt trên bất kỳ nền tảng nào (Windows, Linux hoặc MacOS) Chỉ mất một lần cài đặt đơn giản để ngay lập tức có quyền truy cập vào thử nghiệm trên tất cả các nền tảng và trình duyệt được kết nối.
+ Công nghệ đáng tin cậy TestProject sử dụng công nghệ đángtin cậy và đã được chứng minh như Selenium và Appium để cómột cách tương tác mạnh mẽ và dễ hiểu với các trang web Rảnhrỗi!
Gói Miễn phí Mãi mãi mà TestProject cung cấp là vô song trong thế giới tự động hóa thử nghiệm về các tính năng và khả năng mà bạn nhận được TestProject là một sản phẩm mạnh mẽ và đầy đủ tính năng mà bất kỳ ai cũng có thể sử dụng miễn phí Tại TestProject, chúng tôi tin tưởng vào việc hỗ trợ cộng đồng thử nghiệm và vì vậy chúng tôi đã làm mọi thứ có thể để đảm bảo người thử nghiệm có thể sử dụng công cụ này.
Trang 102.2.5Tài liệu đặc tả yêu cầu phần mềm
2.4.1.1 Đặc tả yêu cầu chức năng (Functional)
Điều kiện sau:
b UC_002_Tra cứu kết quả học tập
Use case: UC_002_Tra cứu kết quả học tập
Trang 13Điều kiện sau:
Trang 15e UC_005_Tên use case
Trang 16Use case: UC_005_Làm bài thi
Điều kiện sau:
f UC_006_Tên use case
Use case: UC_006_Cập nhật thông tin cá nhân Mục đích:
Trang 18viên bao gồm: họ tên, giới tính, địa chỉ, quê quán,
1 Giảng viên chọn chức năng Cá nhân
2 Hệ thống hiển thị 3 chức năng gồm: thông tin, đổi mật khẩu, ảnh đại diện
3 Giảng viên chọn chức năng Thông tin
4 Hệ thống hiển thị ra màn hình thông tincủa sinh viên bao gồm: họ tên, giới tính, địa chỉ,quê quán, số cmnd, số điện thoại
5 Giảng viên nhập thông tin muốn sửa và kích nút chọn Cập nhật
6 Hệ thống cập nhật thông tin vào bảngGIANGVIEN và hiển thị form thông báo cập nhậtthành công
Luồng sự kiện
phụ (Alternative
Flows):
Điều kiện sau:
g UC_007_Xem thông tin lớp
Use case:UC_007_Xem thông tin lớp
Mục đích:
Sinh viên: xem thông tin các nhân và các bạn trong lớp
Trang 20Điều kiện sau: Sinh viên chơi được game tiếng anh
Điều kiện sau:
j UC_010_Quản lý tiến độ học tập của sinh viên Use case: UC_010_Quản lý tiến độ học tập của sinh viên
Trang 21Mục đích:Giảng viên có thể xem tiến độ học tập của sinh viên Tác nhân:
Điều kiện trước:
Trang 23Flows):
Trang 24Điều kiện sau:
l UC_012_Theo dõi quá trình thi của SV Use case: UC_012_Theo dõi quá trình thi của SV Mục đích:
Trang 26m.UC_013_Reset mật khẩu của Sinh viên Use case: UC_013_Reset mật khẩu của Sinh viên Mục đích:
Điều kiện sau:
n UC_014_Phản hồi ý kiến
Use case: UC_014_Phản hồi ý kiến
Trang 29Điều kiện sau:
Trang 30Điều kiện sau:
2.4.1.2 Đặc tả yêu cầu phi chức năng (Non Functional)
a Các yêu cầu trang web eop.edu.vn
Eop.edu.vn là trang web học tiếng anh trực tuyến do vậy giao diện cần thân thiện với người dùng, dễ dàng sử dụng.
+ Giảng viên: đội ngũ cán bộ giảng viên
+ Ngoại khoá: các chương trình ngoại khoá
+ Câu lạc bộ: các câu lạc bộ trong khoa ngoại ngữ
+ Liên hệ: form liên hệ, gửi ý kiến phản hồi
+ Đăng nhập: đưa đến trang đăng nhập
- Thông báo: Các thông báo từ ban giám hiệu, giáo viên
- Dạy học kết hợp: hiển thị các lớp học phần
- Thi trên máy: hiển thị các bài thi trên máy
- Games: đưa đến trang chơi game
- Lớp học: hiển thị danh sách lớp học
- Cá nhân: hiển thị thông tin cá nhân,đổi mật khẩu và ảnh đại diện
- Tạo bài thi: truy xuất vào kho bài thi, lấy ra, tạo và chỉnh sửa bài thi
Trang 31b Các yêu cầu về phần cứng
- Nơi lưu trữ cơ sở dữ liệu: Máy chủ đặt tại trường, bản backup trên server
Trang 32của bên thứ ba.
- Kết nối: Thông qua hệ thống internet,wifi
- Thiết bị hỗ trợ: Sử dụng được với tất cả các trình duyệt web và thiết
bi máy tính bảng, điện thoại, PC
- Các giao thức được sử dụng: TCP/IP (Transmission Control
Protocol)/ (Internet Protocol), HTTP (HyperText Transfer Protocol)
c Các yêu cầu về giao diện ứng dụng
- Trên giao diện ứng dụng của các trình duyệt khác nhau thì cần yêucầu responsive(phản hồi) để phù hợp với các thiết bị máy tính, máy tính bảng, điện thoại
d Các yêu cầu khác
- Bảo mật thông tin
- Độ tin cậy cao, thông tin trên web rõ ràng, chính xác
- Hệ thống website hoạt động 24/24
- Sử dụng được nhiều ngôn ngữ
- Phù hợp với nhiều hệ điều hành trên máy tính, điện thoại
- Tốc độ truyền tải nhanh chóng
- Thường xuyên nâng cấp để phù hợp với mục đích sử dụng
- Hạn chế trường hợp sập mạng
- Các quy tắc nghiệp vụ:
+ Chỉ những người có tài khoản mới được đăng nhập vào hệ thống để xem điểm, lịch dạy, lịch thi, xem bài học, xem thông tin cá nhân,…+ Phân lớp người dùng, mỗi người dùng có chức năng riêng
+ Bảo trì định kì 3 tháng 1 lần
2.3 Kiểm thử phần mềm Test Project
2.3.1Lập kế hoạch kiểm thử (test plan)
2.4.1.1 Chiến lược kiểm thử
a Kiểm thử chức năng (Functional Testing)
Mục đích test: Đảm bảo mục tiêu test đúng đắn của chức năng, bao gồm định
hướng, dữ liệu đầu vào, xử lý và dữ liệu nhận được
Cách thực hiện: Thực hiện mỗi Use Case, chu trình Use Case hoặc chức năng, sử
dụng dữ liệu hợp lệ và không hợp lệ để kiểm tra:
- Kết quả mong đợi với dữ liệu hợp lệ:
+ Giảng viên: đăng nhập thành công có thể xem thông tin, nhập điểm, quản lý tiến độ học tập của sinh viên, đổi mật
Trang 33Điều kiện hoàn
Trang 34Báo cáo kiểm thử
e Môi trường kiểm thử
- Quá trình kiểm thử thực hiện trên môi trường Window
- Trình duyệt được sử dụng là Google Chorme và Mozilla FireFox
Trang 37Lập kếhoạch
2 Test plan
3 Test case GUI
Đăng nhậpThông tinliên hệChat
Cập nhậtthông tin cánhân
Tra cứu kếtquả học tậpĐổi mậtkhẩu cánhân
Kế hoạchhọc tậpKết quả thi
Kế hoạchthi
Tìm kiếmWriting
Hoàn thànhbài viếtLiên kết vớifacebook
Trang 38Liên kết vớiyoutube
4 Báo cáo
2.3.2 Tạ Thị Giang – Chức năng đăng nhập
2.4.1.4.
Phân tích thiết kế kiểm thử
• Giao diện chức năng: đăng nhập
• Giao diện chức năng đăng nhập có:
+Tên tài khoản là mã sinh viên tồn tại trong CSDL
+Mật khẩu không được để trống và phải đúng
• Sử dụng các phương pháp phân vùng tương đương để lấy cơ sở tìm test case
• Danh sách các test case:
công
Trang 39tc_003 Mật khẩu để trống
Trang 40Mã sinh viên không
Mã sinh viên để
2.4.1.5 Thực hiện kiểm thử