-
Thông tin
-
Quiz
Bài kiểm tra thường xuyên 1 - Tài liệu tham khảo | Đại học Hoa Sen
Bài kiểm tra thường xuyên 1 - Tài liệu tham khảo | Đại học Hoa Sen và thông tin bổ ích giúp sinh viên tham khảo, ôn luyện và phục vụ nhu cầu học tập của mình cụ thể là có định hướng, ôn tập, nắm vững kiến thức môn học và làm bài tốt trong những bài kiểm tra, bài tiểu luận, bài tập kết thúc học phần, từ đó học tập tốt và có kết quả
speaking and listening 3 (BLAW-2974) 68 tài liệu
Đại học Hoa Sen 4.8 K tài liệu
Bài kiểm tra thường xuyên 1 - Tài liệu tham khảo | Đại học Hoa Sen
Bài kiểm tra thường xuyên 1 - Tài liệu tham khảo | Đại học Hoa Sen và thông tin bổ ích giúp sinh viên tham khảo, ôn luyện và phục vụ nhu cầu học tập của mình cụ thể là có định hướng, ôn tập, nắm vững kiến thức môn học và làm bài tốt trong những bài kiểm tra, bài tiểu luận, bài tập kết thúc học phần, từ đó học tập tốt và có kết quả
Môn: speaking and listening 3 (BLAW-2974) 68 tài liệu
Trường: Đại học Hoa Sen 4.8 K tài liệu
Thông tin:
Tác giả:
Tài liệu khác của Đại học Hoa Sen
Preview text:
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA ĐIỆN TỬ
-----------o0o-----------
BÀI KIỂM TRA THƯỜNG XUYÊN 1
GV: GV. Hoàng Quang Huy Lớp : 20222IT6084003
Họ và tên: Trịnh Kỳ Anh Nhóm : 2 STT: 7 Khóa : 15 Hà Nội 4/2023
Câu 1: Trình bày kiểm thử phần mềm Nêu một số rủi ro
nếu Hệ thống phần mềm, dịch vụ phần mềm không được kiểm thử đầy đủ.
I. Trình bày kiểm thử phần mềm
1. Kiểm thử phần mềm là gì ?
Kiểm thử phần mềm (software testing) là hoạt động nhằm tìm kiếm và phát hiện
ra các lỗi của phần mềm, đảm bảo phần mềm chính xác, đúng và đầy đủ theo
yêu cầu của khách hàng, yêu cầu của sản phẩm đã đặt ra. Software testing cũng
cung cấp mục tiêu, cái nhìn độc lập về phần mềm điều này cho phép đánh giá và
hiểu rõ các rủi ro khi thực thi phần mềm. Các phương pháp kiểm thử phần mềm:
Kiểm thử hộp trắng (white box testing): Trong kiểm thử hộp trắng cấu
trúc mã, thuật toán được đưa vào xem xét. Người kiểm thử truy cập vào
mã nguồn của chương trình để có thể kiểm tra nó.
Kiểm thử hộp đen (black box testing) : Kiểm tra các chức năng của hệ
thống dựa trên bản đặc tả yêu cầu.
Kiểm thử hộp xám (gray box testing): Là sự kết hợp giữa black box testing và white box testing
2. Mục đích của kiểm thử phần mềm:
Kiểm thử phần mềm để đánh giá phần mềm có đạt yêu cầu mong đợi hay có sai sót nào không?
Phần mềm có làm việc như mong muốn không?
Phần mềm có giải quyết được yêu cầu của khách hàng không?Nó làm
được gì mà người dùng mong đợi?
Người dùng có thích nó không?
Nó có tương thích với các hệ thống khác của chúng ta hay không? 3. Quy trình kiểm thử PHÂN TÍCH YÊU CẦU LẬP KẾ HOẠCH THIẾT KẾ KIỂM THỬ CHUẨN BỊ MÔI TRƯỜNG THỰC THI KÊT THÚC
Sơ đồ quy trình kiểm thử
Nguồn: https://viblo.asia/p/kiem-thu-phan-mem-la-gi-quy-trinh-kiem-thu-phan-mem-1VgZvayYKAw Quy Đầu vào Các hoạt động Đầu ra trình Phân
Tài liệu SRS, tài Đọc hiểu, nghiên cứu phân tích File Q & A
tích yêu liệu thiết kế, bản các yêu cầu có trong các bản tài cầu prototype liệu
Đưa ra các câu hỏi còn thắc mắc
về yêu cầu phần mềm với BA,
team, leader, khách hàng để hiểu
rõ hơn về yêu cầu sản phẩm Quy Đầu vào Các hoạt động Đầu ra trình
Lập kế Các tài liệu đã
Xác định phạm vi kiểm thử: thời Test plan, hoạch được cập nhật
gian, lịch trình cho các công checklist thông qua file Q &việc.
A trong giai đoạn Xác định phương pháp tiếp cận.
phân tích yêu cầu Xác định nguồn lực: con người và thiết bị.
Lên kế hoạch thiết kế công việc
test: các chức năng cần kiểm
thử, cái nào cần thực hiện trước,
sau, ai là người thực hiện... Thiết Test plan,
Review tài liệu: xác định công Test design, test
kế kiểm checklist và các việc cần làm. case, check list, thử
tài liệu đặc tả đã Viết test case/checklist. test data, test được cập nhật
Chuẩn bị dữ liệu kiểm thử: test automation script data, test script.
Review test case/checklist: tránh
rủi ro trong thiết kế test case
Chuẩn Test plan, smoke Thực thi các smoke test case để Môi trường đã
bị môi test case, test data kiểm tra môi trường kiểm thử đã được chuẩn bị sẵn trường
sẵn sàng cho việc test chưa sàng cho việc test và các kết quả của smoke test case
Thực Test design, test Thực hiện test theo kịch bản Test results, defect hiện case, check list, kiểm thử. reports kiểm test data, test
So sánh kết quả thực tế với Quy Đầu vào Các hoạt động Đầu ra trình thử
automation script mong đợi và log bug lên tool
quản lý lỗi, theo dõi quá trình xử lý lỗi. Kết
Tất cả các tài liệu Tổng kết báo cáo kết quả về Test report, test thúc
được tổng hợp từ việc thực thi test, chức năng nào results final
giai đoạn đầu tiên hoàn thành/ chức năng chưa
hoàn thành, lỗi còn nhiều ở chức
năng nào, dev nào còn nhiều lỗi,
lỗi có nghiêm trọng hay không...
II. Một số rủi ro nếu hệ thống phần mềm, dịch vụ phần mềm
không được kiểm thử đầy đủ
Nếu hệ thống phần mềm, dịch vụ phần mềm không được kiểm thử đầy đủ, có
thể gặp phải các rủi ro sau:
Lỗi phần mềm: Nếu phần mềm không được kiểm thử đầy đủ, có thể gặp
phải các lỗi phần mềm, bao gồm lỗi chức năng, lỗi hiệu năng, lỗi bảo mật,
lỗi tương thích, v.v. Điều này có thể dẫn đến các vấn đề nghiêm trọng
trong hoạt động của hệ thống phần mềm.
Thời gian và chi phí: Nếu lỗi phần mềm không được phát hiện sớm, sửa
chữa chúng sẽ mất nhiều thời gian và chi phí hơn. Điều này có thể gây ra
sự chậm trễ trong việc phát hành sản phẩm hoặc dịch vụ phần mềm.
Mất dữ liệu: Nếu hệ thống phần mềm không được kiểm thử đầy đủ và
không đáp ứng được các yêu cầu bảo mật, có thể xảy ra mất dữ liệu hoặc
lỗi truy cập dữ liệu không được phép.
Tác động đến thương hiệu: Nếu sản phẩm hoặc dịch vụ phần mềm
không đáp ứng được yêu cầu của khách hàng hoặc có nhiều lỗi, điều này
có thể ảnh hưởng đến uy tín và thương hiệu của công ty.
An ninh thông tin: Nếu hệ thống phần mềm không được kiểm thử đầy đủ
và không đáp ứng được các yêu cầu bảo mật, nó có thể trở thành một
điểm yếu cho các hacker tấn công và đánh cắp thông tin của người dùng.
Tóm lại, việc không kiểm thử đầy đủ hệ thống phần mềm hoặc dịch vụ phần
mềm có thể gây ra nhiều rủi ro khác nhau. Các vấn đề liên quan đến chức năng,
hiệu suất, bảo mật và an toàn thông tin, gây ảnh hưởng đến sự tin tưởng và uy
tín của công ty và tác động đến chi phí và thời gian phát triển sản phẩm.
Ví dụ: Khi một công ty phát triển một ứng dụng di động để quản lý việc đặt
hàng và thanh toán trực tuyến, nhưng không đưa nó qua các giai đoạn kiểm thử
đầy đủ trước khi phát hành.
Khi ứng dụng được đưa ra sử dụng, người dùng bắt đầu phản ánh về các lỗi liên
quan đến thanh toán, thời gian phản hồi chậm và mất dữ liệu đơn hàng. Do
không được kiểm thử đầy đủ, các lỗi này không được phát hiện sớm và đã gây ra
sự chậm trễ và thất vọng cho khách hàng.
Nó có thể gây thiệt hại cho uy tín và thương hiệu của công ty, và có thể dẫn đến
mất mát doanh thu hoặc khách hàng chuyển sang các sản phẩm hoặc dịch vụ cạnh tranh tốt hơn.
III. Mô hình V trong kiểm thử phần mềm
1. Mô hình V trong kiểm thử phần mềm là gì?
V Model là một mô hình SDLC có tính kỷ luật cao, có giai đoạn thử nghiệm
song song với từng giai đoạn phát triển. Mô hình V là một phần mở rộng của mô
hình thác nước trong đó quá trình phát triển và thử nghiệm phần mềm được thực
hiện theo cách tuần tự. Nó được gọi là Mô hình xác thực hoặc xác minh.
2. Thuật ngữ kỹ thuật phần mềm chính
SDLC: SDLC là Vòng đời phát triển phần mềm. Đó là chuỗi các hoạt động
được Nhà phát triển thực hiện để thiết kế và phát triển phần mềm chất lượng cao.
STLC: STLC là Vòng đời kiểm thử phần mềm. Nó bao gồm một loạt các hoạt
động được thực hiện bởi Người kiểm tra theo phương pháp để kiểm tra sản
phẩm phần mềm của bạn.
Mô hình thác nước: Mô hình thác nước là một mô hình tuần tự được chia thành
các giai đoạn khác nhau của hoạt động phát triển phần mềm. Mỗi giai đoạn được
thiết kế để thực hiện các hoạt động cụ thể. Giai đoạn thử nghiệm trong mô hình
thác nước chỉ bắt đầu sau khi triển khai hệ thống xong.
3. Sự cố với Mô hình thác nước
Như bạn có thể thấy, thử nghiệm trong mô hình chỉ bắt đầu sau khi triển khai
xong. Nhưng nếu bạn đang làm việc trong một dự án lớn, nơi các hệ thống rất
phức tạp, bạn rất dễ bỏ sót các chi tiết quan trọng trong chính giai đoạn yêu cầu.
Trong những trường hợp như vậy, một sản phẩm hoàn toàn sai sẽ được giao cho
khách hàng và bạn có thể phải bắt đầu lại dự án HOẶC nếu bạn cố gắng lưu ý
các yêu cầu một cách chính xác nhưng mắc lỗi nghiêm trọng trong thiết kế và
kiến trúc phần mềm của mình, bạn sẽ phải thiết kế lại phần mềm. toàn bộ phần mềm để sửa lỗi.
Đánh giá của hàng nghìn dự án đã chỉ ra rằng các lỗi được đưa ra trong quá trình
yêu cầu & thiết kế chiếm gần một nửa tổng số lỗi. Ngoài ra, chi phí sửa lỗi tăng
lên trong suốt vòng đời phát triển. Một lỗi được phát hiện càng sớm trong vòng
đời thì càng rẻ để sửa nó. Như họ nói, "Một mũi khâu kịp thời tiết kiệm được chín." 4. Giải pháp: Mô hình V
Để giải quyết mối quan tâm này, mô hình thử nghiệm V đã được phát triển trong
đó đối với mọi giai đoạn, trong vòng đời Phát triển có một giai đoạn Thử nghiệm tương ứng Sơ đồ mô hình V
Bên trái của mô hình là Vòng đời phát triển phần mềm – SDLC
Bên phải của mô hình là Vòng đời kiểm thử phần mềm – STLC
Toàn bộ hình giống chữ V nên có tên là V – model
Ngoài mô hình V, còn có các mô hình phát triển lặp, trong đó quá trình phát triển
được thực hiện theo từng giai đoạn, với mỗi giai đoạn bổ sung một chức năng
cho phần mềm. Mỗi giai đoạn bao gồm tập hợp các hoạt động phát triển và thử nghiệm độc lập. 5. Sử dụng mô hình V
Các bước cụ thể trong V Model bao gồm:
Phân tích yêu cầu: Ở giai đoạn này, các yêu cầu của khách hàng được
thu thập và phân tích để xác định các tính năng và chức năng cần phát triển.
Thiết kế hệ thống: Thiết kế hệ thống được thực hiện để đảm bảo rằng hệ
thống sẽ có khả năng thực hiện các tính năng và chức năng được yêu cầu.
Thiết kế chi tiết: Thiết kế chi tiết được thực hiện để xác định các chi tiết
về cách các tính năng và chức năng cụ thể sẽ được triển khai.
Lập trình và kiểm tra đơn vị: Các đơn vị phần mềm được lập trình và
kiểm tra để đảm bảo rằng chúng hoạt động đúng như mong đợi.
Kiểm thử tích hợp: Các đơn vị phần mềm được tích hợp lại với nhau để
kiểm tra tính hợp nhất và tính tương tác của chúng.
Kiểm thử hệ thống: Hệ thống được kiểm tra để đảm bảo rằng nó hoạt
động đúng như mong đợi và đáp ứng được các yêu cầu của khách hàng
Triển khai và bảo trì: Sản phẩm phần mềm được triển khai và bảo trì để
đảm bảo rằng nó tiếp tục hoạt động đúng như mong đợi và đáp ứng được
các yêu cầu của khách hàng.
Để sử dụng V Model, các bước trên được thực hiện theo đúng thứ tự và được
liên kết với nhau để đảm bảo rằng các sản phẩm phần mềm được phát triển đáp
ứng được các yêu cầu của khách hàng và đảm bảo chất lượng. Việc áp dụng mô hình này có thể giúp. 6. Lý do sử dụng V Model
V Model là một trong những mô hình phát triển phần mềm được sử dụng phổ
biến nhất trong các dự án phát triển phần mềm. Các lý do để sử dụng V Model bao gồm:
Đảm bảo chất lượng: Với V Model, các hoạt động kiểm thử được tích
hợp vào quá trình phát triển phần mềm từ đầu, đảm bảo rằng chất lượng
của sản phẩm phần mềm được đảm bảo trong suốt quá trình phát triển.
Tối ưu hóa quy trình phát triển: V Model giúp tối ưu hóa quy trình phát
triển phần mềm bằng cách giúp tăng hiệu quả và giảm thiểu các lỗi và sự
cố trong quá trình phát triển.
Giảm chi phí: Bằng cách tích hợp kiểm thử sớm trong quá trình phát
triển, V Model giúp giảm chi phí của quá trình kiểm thử tổng thể.
Tăng độ tin cậy: Với V Model, các tính năng và chức năng được kiểm tra
và xác nhận từ đầu, đảm bảo rằng sản phẩm phần mềm sẽ hoạt động đúng như mong đợi.
Cải thiện quản lý dự án: Với V Model, các bước phát triển phần mềm
được phân rõ ràng và liên kết với nhau, giúp cải thiện quản lý dự án và
giúp cho các thành viên trong đội ngũ phát triển có thể làm việc hiệu quả hơn. 7. Ví dụ
Giả sử, bạn được giao một nhiệm vụ là phát triển một phần mềm tùy chỉnh cho
một khách hàng. Bây giờ, bất kể nền tảng kỹ thuật của bạn là gì, hãy thử và đoán
theo trình tự các bước bạn sẽ thực hiện để đạt được nhiệm vụ.
Để phát triển một phần mềm tùy chỉnh cho khách hàng, em sẽ tiến hành theo các bước sau:
Phân tích yêu cầu: em sẽ bắt đầu với việc phân tích yêu cầu của khách hàng để
hiểu rõ nhu cầu của họ. em sẽ gặp gỡ khách hàng, thảo luận và đặt các câu hỏi
để hiểu rõ về tính năng, yêu cầu, kỹ thuật và mục tiêu của dự án.
Thiết kế hệ thống: Dựa trên các yêu cầu của khách hàng, em sẽ thiết kế hệ
thống. Đây là giai đoạn để tạo ra một kế hoạch cụ thể cho phần mềm, xác định
các chức năng, lưu trữ dữ liệu, giao diện người dùng và mối quan hệ giữa chúng.
Lập kế hoạch: Em sẽ lập kế hoạch cho dự án, bao gồm các mục tiêu, các công
cụ và nguồn lực sẽ được sử dụng và các thời hạn cụ thể.
Triển khai và phát triển: Sau khi hoàn tất các bước phân tích và thiết kế, em sẽ
tiến hành triển khai và phát triển phần mềm. Điều này bao gồm lập trình, kiểm
thử và phát triển các tính năng và chức năng.
Kiểm thử và đánh giá: Em sẽ kiểm tra phần mềm để đảm bảo rằng nó hoạt
động đúng như mong đợi và đáp ứng được yêu cầu của khách hàng. Em cũng sẽ
yêu cầu khách hàng đánh giá phần mềm và đưa ra phản hồi để cải thiện phần mềm.
Triển khai và bảo trì: Khi phần mềm đã được kiểm tra và được chấp nhận, em
sẽ triển khai phần mềm và cung cấp hướng dẫn sử dụng cho khách hàng. Em
cũng sẽ cung cấp dịch vụ bảo trì và hỗ trợ cho phần mềm để đảm bảo nó luôn
hoạt động tốt và đáp ứng được các yêu cầu của khách hàng.
Câu 2: Trình bày về Kiểm thử hộp trắng trong các ứng
dụng / dịch vụ web.
I. Kiểm thử hộp trắng
1. Kiểm thử hộp trắng trong các ứng dụng là gì?
Kiểm thử hộp trắng (White box testing) là một phương pháp kiểm thử phần
mềm, trong đó người kiểm thử sẽ kiểm tra các thành phần bên trong của phần
mềm, bao gồm cấu trúc và mã nguồn của phần mềm. Đây là một phương pháp
kiểm thử phần mềm kiểm tra từng dòng mã nguồn để đảm bảo rằng phần mềm
hoạt động đúng như thiết kế.
Trong các ứng dụng, kiểm thử hộp trắng thường được sử dụng để kiểm tra tính
đúng đắn của mã nguồn, đảm bảo rằng mã nguồn hoạt động đúng và không có
lỗi. Các kỹ thuật kiểm thử hộp trắng thường được sử dụng để đạt được mục tiêu này bao gồm:
Kiểm thử đường đi (Path testing): kiểm tra toàn bộ các đường đi có thể được
thực hiện trong mã nguồn để đảm bảo rằng không có đường đi nào bị bỏ sót
hoặc lỗi trong việc thực thi.
Kiểm thử điều kiện (Condition testing): kiểm tra tất cả các điều kiện được sử
dụng trong mã nguồn để đảm bảo rằng mã nguồn xử lý đúng các điều kiện và trả về kết quả đúng.
Kiểm thử kiểu dữ liệu (Data type testing): kiểm tra tất cả các kiểu dữ liệu
được sử dụng trong mã nguồn để đảm bảo rằng các giá trị được sử dụng trong
mã nguồn đúng kiểu và không gây ra lỗi trong quá trình thực thi.
Kiểm thử biên (Boundary testing): kiểm tra tất cả các giá trị biên của các biến
được sử dụng trong mã nguồn để đảm bảo rằng các giá trị đó được xử lý đúng và
không gây ra lỗi trong quá trình thực thi.
Kiểm thử hộp trắng còn có thể được sử dụng để đảm bảo tính bảo mật của phần
mềm. Người kiểm thử có thể sử dụng các kỹ thuật kiểm thử hộp trắng để tìm
kiếm lỗ hổng bảo mật trong mã nguồn, bao gồm kiểm tra tính hợp lệ của đầu
vào, kiểm tra xác thực và phân quyền, và kiểm tra xử lý lỗi.
2. Kiểm thử hộp trắng như thế nào?
Đọc và hiểu mã nguồn của phần mềm: Để kiểm tra tính đúng đắn của mã
nguồn, bạn cần đọc và hiểu mã nguồn của phần mềm một cách cẩn thận. Điều
này đòi hỏi bạn phải có kiến thức về ngôn ngữ lập trình và cấu trúc chương trình.
Xác định các tình huống kiểm thử: Sau khi đọc mã nguồn, bạn cần xác định
các tình huống kiểm thử để đảm bảo rằng các hàm và phương thức hoạt động
đúng như thiết kế. Bạn có thể sử dụng các kỹ thuật kiểm thử hộp trắng để xác
định các tình huống kiểm thử như kiểm thử đường đi, điều kiện, kiểu dữ liệu và biên.
Thiết lập môi trường kiểm thử: Trước khi bắt đầu kiểm thử, bạn cần thiết lập
môi trường kiểm thử phù hợp, bao gồm cài đặt và cấu hình các công cụ kiểm
thử, chẳng hạn như trình biên dịch, trình gỡ lỗi và bộ kiểm tra đơn vị.
Thực hiện kiểm thử: Sau khi đã xác định các tình huống kiểm thử và thiết lập
môi trường kiểm thử, bạn có thể thực hiện kiểm thử bằng cách chạy các ca kiểm
thử, đưa ra đầu vào thử nghiệm và so sánh kết quả thực tế với kết quả mong đợi.
Ghi lại kết quả kiểm thử: Bạn cần ghi lại kết quả kiểm thử của mình, bao gồm
các lỗi và khuyết điểm tìm thấy, để đưa ra cho nhóm phát triển để sửa chữa và
cải thiện chất lượng của phần mềm.
Phân tích và đánh giá kết quả kiểm thử: Cuối cùng, bạn cần phân tích và
đánh giá kết quả kiểm thử của mình để đảm bảo rằng phần mềm đã được kiểm
thử đầy đủ và đáp ứng các yêu cầu chất lượng của dự án. Nếu cần, bạn có thể
tiếp tục thực hiện kiểm thử hộp trắng để đảm bảo tính đúng đắn và bảo mật của phần mềm.
3. Tại sao phải kiểm thử hộp trắng
Kiểm thử hộp trắng là một phương pháp kiểm thử phần mềm đóng vai trò quan
trọng trong việc đảm bảo chất lượng và độ tin cậy của phần mềm. Các lợi ích
của kiểm thử hộp trắng bao gồm:
Phát hiện các lỗi ẩn: Kiểm thử hộp trắng giúp phát hiện các lỗi ẩn hoặc lỗi mà
người kiểm thử không thể phát hiện bằng các phương pháp kiểm thử khác. Như
vậy, kiểm thử hộp trắng cung cấp một cách tiếp cận toàn diện để đảm bảo tính
đúng đắn của phần mềm.
Tăng tính bảo mật: Kiểm thử hộp trắng giúp xác định các điểm yếu của phần
mềm và tăng tính bảo mật của nó. Kiểm thử hộp trắng có thể giúp đảm bảo rằng
phần mềm không thể bị xâm nhập hoặc tấn công.
Tối ưu hóa hiệu suất: Kiểm thử hộp trắng giúp xác định các vấn đề về hiệu suất
và tối ưu hóa hiệu suất của phần mềm. Bằng cách sử dụng các kỹ thuật kiểm thử
hộp trắng, bạn có thể xác định các vấn đề hiệu suất và sửa chúng trước khi phần mềm được triển khai.
Giảm chi phí và thời gian phát triển: Kiểm thử hộp trắng giúp giảm chi phí và
thời gian phát triển bằng cách phát hiện lỗi sớm trong quá trình phát triển và sửa
chúng trước khi phần mềm được triển khai. Điều này giúp tránh các vấn đề lớn
hơn và giảm chi phí cho việc sửa chữa phần mềm sau khi triển khai. 4. Ví dụ: INPUT A & B C = A + B IF C>100 PRINT “HOAN THANH” Đối với
– em chỉ cần một trường hợp thử nghiệm để
Statement Coverage
kiểm tra tất cả các dòng mã. Điều đó có nghĩa là:
Nếu em coi TestCase_01 là (A=40 và B=70), thì tất cả các dòng mã sẽ được thực thi.
Bây giờ câu hỏi đặt ra: Như vậy đã đủ chưa?
Nếu em coi trường hợp thử nghiệm của mình là A=33 và B=45 thì sao?
Bởi vì mức độ phù hợp của Statement coverage sẽ chỉ bao gồm mặt thật, đối
với mã giả, chỉ một trường hợp kiểm tra sẽ ‘Không’ đủ để kiểm tra nó. Là một
tester, chúng ta cũng phải xem xét các trường hợp tiêu cực.
Do đó, để có phạm vi bảo hiểm tối đa, chúng ta cần xem xét Branch
Coverage, điều này sẽ đánh giá các điều kiện “SAI”.
Vì vậy, bây giờ mã giả trở thành: INPUT A & B C = A + B IF C>100 IN “NÓ ĐÃ XONG” HOẶC IN “ĐANG CHỜ XỬ LÝ”
Vì mức độ phù hợp của
không đủ để kiểm tra toàn bộ mã Statement coverage
giả, nên em sẽ yêu cầu mức độ phù hợp của Branch coverage để đảm bảo mức độ phù hợp tối đa .
Vì vậy, đối với Branch coverage, em sẽ yêu cầu hai trường hợp thử nghiệm để
hoàn thành việc kiểm tra mã giả này. TestCase_01 : A=33, B=45 TestCase_02 : A=25, B=30
II. Trình bày Kiểm thử bảo mật web 1. Kiểm thử web là gì?
Kiểm thử web (web testing) là quá trình kiểm tra tính năng, hiệu suất, bảo mật
và sự tương thích của các ứng dụng web. Nó bao gồm việc kiểm tra trên các
trình duyệt khác nhau, các thiết bị di động, các hệ điều hành và các môi trường
khác nhau để đảm bảo rằng ứng dụng hoạt động như mong đợi và đáp ứng được
các yêu cầu và mong muốn của người dùng.
Các loại kiểm thử web bao gồm:
Kiểm thử chức năng: Kiểm tra tính năng và chức năng của ứng dụng web, đảm
bảo rằng chúng hoạt động như mong đợi và đáp ứng được các yêu cầu của người dùng.
Kiểm thử giao diện: Kiểm tra giao diện người dùng của ứng dụng web, đảm
bảo rằng nó đáp ứng được các tiêu chuẩn về thiết kế và trải nghiệm người dùng.
Kiểm thử tương thích: Kiểm tra tính tương thích của ứng dụng web trên các
trình duyệt khác nhau, các thiết bị di động và các hệ điều hành khác nhau.
Kiểm thử hiệu suất: Kiểm tra hiệu suất của ứng dụng web, đảm bảo rằng nó
hoạt động tốt và đáp ứng được tải lớn từ người dùng.
Kiểm thử bảo mật: Kiểm tra tính bảo mật của ứng dụng web, đảm bảo rằng nó
không bị các lỗ hổng bảo mật và không thể bị tấn công.
2. Kiểm thử web như thế nào?
Kiểm thử web có thể được thực hiện bằng nhiều cách khác nhau, tùy thuộc vào
mục đích và yêu cầu của dự án. Tuy nhiên, có một số bước chung thường được
sử dụng trong quá trình kiểm tra web như sau:
Phân tích yêu cầu: Để bắt đầu quá trình kiểm tra web, các yêu cầu cần được
phân tích và hiểu rõ. Điều này giúp xác định phạm vi của kiểm tra và giúp đảm
bảo rằng các tính năng và chức năng của ứng dụng được kiểm tra đầy đủ.
Lập kế hoạch kiểm thử: Sau khi đã phân tích yêu cầu, tiếp theo là lập kế hoạch
kiểm thử. Trong kế hoạch này, cần xác định các ca kiểm thử, các kịch bản kiểm
thử, các bước kiểm thử và các tiêu chuẩn chấp nhận được.
Thực hiện kiểm thử chức năng: Kiểm tra chức năng của ứng dụng web là
bước quan trọng trong quá trình kiểm thử. Kiểm tra chức năng có thể bao gồm
kiểm tra tính năng của các trang web, kiểm tra các liên kết, các nút bấm, các
biểu mẫu, các chức năng tìm kiếm và các tính năng khác.
Kiểm tra giao diện người dùng: Kiểm tra giao diện người dùng giúp đảm bảo
rằng giao diện người dùng của ứng dụng web đáp ứng được các tiêu chuẩn về
thiết kế và trải nghiệm người dùng. Điều này có thể bao gồm kiểm tra kiểu chữ,
màu sắc, hình ảnh, độ phân giải và các yếu tố khác.
Kiểm tra tương thích: Kiểm tra tương thích giúp đảm bảo rằng ứng dụng web
hoạt động tốt trên các trình duyệt khác nhau, các thiết bị di động và các hệ điều hành khác nhau.
Kiểm tra hiệu suất: Kiểm tra hiệu suất giúp đảm bảo rằng ứng dụng web hoạt
động tốt và đáp ứng được tải lớn từ người dùng. Điều này có thể bao gồm kiểm
tra tốc độ tải trang, thời gian đáp ứng và các yếu tố khác.
Kiểm tra bảo mật: Quá trình xác định và đánh giá các lỗ hổng bảo mật trong ứng dụng.
3. Tại sao phải kiểm thử web
Kiểm thử web là một quá trình quan trọng trong quá trình phát triển ứng dụng
web. Nó giúp đảm bảo rằng ứng dụng web hoạt động đúng như mong đợi và đáp
ứng được các yêu cầu của người dùng. Một số lý do quan trọng để thực hiện kiểm thử web bao gồm:
Đảm bảo chất lượng ứng dụng: Kiểm thử web giúp xác định các lỗi và sự cố
trong ứng dụng web trước khi nó được triển khai. Điều này giúp đảm bảo chất
lượng ứng dụng và tránh những tình huống không mong muốn cho người dùng.
Bảo mật ứng dụng: Kiểm thử web cũng giúp đảm bảo rằng ứng dụng web được
bảo mật. Nó giúp phát hiện các lỗ hổng bảo mật và đề xuất các biện pháp bảo
mật để giảm thiểu rủi ro.
Tối ưu hóa trải nghiệm người dùng: Kiểm thử web giúp đảm bảo rằng trải
nghiệm người dùng của ứng dụng web được tối ưu hóa. Nó giúp phát hiện các
vấn đề về hiệu suất, tốc độ và tương tác người dùng để cải thiện trải nghiệm của họ.
Tiết kiệm thời gian và chi phí: Nếu các lỗi và sự cố được phát hiện và khắc
phục sớm, thì sẽ tiết kiệm được thời gian và chi phí trong việc sửa chữa và cải thiện ứng dụng web.
4. Ví dụ: Bẻ khoá mật khẩu (Password Cracking)
Việc kiểm tra bảo mật trên “Ứng dụng web” có thể được bắt đầu bằng cách “Bẻ
khóa mật khẩu”. Để đăng nhập vào các khu vực riêng tư của ứng dụng, kẻ xấu
có thể đoán tên người dùng/mật khẩu hoặc sử dụng một số công cụ bẻ khóa mật
khẩu. Một danh sách tên người dùng và mật khẩu phổ biến có sẵn cùng với các
công cụ bẻ khóa mật khẩu nguồn mở.
Nếu ứng dụng web không thực thi mật khẩu phức tạp ( Ví dụ: có bảng chữ cái,
số và ký tự đặc biệt hoặc có ít nhất một số ký tự bắt buộc), có thể không mất
nhiều thời gian để bẻ khóa tên người dùng và mật khẩu.
Nếu tên người dùng hoặc mật khẩu được lưu trữ trong cookie mà không được
mã hóa, thì kẻ tấn công có thể sử dụng các phương pháp khác nhau để đánh cắp
cookie và thông tin được lưu trữ trong cookie như tên người dùng và mật khẩu.