1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo môn học kiểm thử và Đảm bảo chất lượng phần mềm Đề tài kiểm thử mạng xã hội 2friend

41 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Kiểm thử mạng xã hội 2Friend
Tác giả Đặng Tiến Quyền, Giang Văn Hưng, Đinh Minh Hoàng
Người hướng dẫn Nguyễn Thị Phương Hạnh
Trường học Trường Đại học Điện lực
Chuyên ngành Công nghệ thông tin
Thể loại Báo cáo môn học
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 41
Dung lượng 632,91 KB

Nội dung

Báo cáo này sẽ trình bày chi tiết về lý thuyết và thực tiễn của kiểm thử tự động, các phương pháp và công cụ được sử dụng, cũng như áp dụng cụ thể cho một số chức năng của ứng dụng.. Del

Trang 1

TRƯỜ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 PHẦN MỀM

ĐỀ

TÀI:

KIỂM THỬ MẠNG XÃ HỘI 2FRIEND

Sinh viên thực hiện : ĐẶNG TIẾN QUYỀN

: GIANG VĂN HƯNG : ĐINH MINH HOÀNG Giảng viên hướng dẫn : NGUYỄN THỊ PHƯƠNG HẠNH

Hà Nội, tháng 11 năm 2024

Trang 3

MỤC LỤC

Trang 4

DANH MỤC TỪ VIẾT TẮT

Trang 5

DANH MỤC HÌNH ẢNH

Trang 6

DANH MỤC BẢNG BIỂU

Trang 7

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 quá trình thực hiện báo cáo này, tôi đã nhận được rất nhiều sự hỗ trợ và đóng góp ý kiến quý báu từ các thầy cô, bạn bè và gia đình

Trước tiên, tôi xin gửi lời cảm ơn chân thành đến các thầy cô trong khoa Công nghệ thông tin trường Đại học Điện Lực, đặc biệt là các thầy

cô giảng dạy lớp D16CNPM3, đã trang bị cho tôi những kiến thức và kỹ năng cần thiết để hoàn thành đề tài này.

Tôi cũng xin cảm ơn các anh chị và các bạn học lớp D16CNPM3 đã luôn động viên, chia sẻ kinh nghiệm học tập, giúp đỡ tôi trong quá trình thực hiện đề tài.

Và lời cuối cùng, tôi xin bày tỏ lòng chân thành và biết ơn tới cha

mẹ, anh chị, những người trong gia đình và bạn bè đã luôn ở bên cạnh tôi những lúc khó khăn nhất, giúp tôi vượt qua khó khăn trong học tập cũng như trong cuộc sống.

Em xin xin chân thành cảm ơn!

Trang 8

LỜI NÓI ĐẦU

Kiểm thử phần mềm là một khía cạnh không thể thiếu trong quá trình phát triển ứng dụng, đảm bảo rằng sản phẩm cuối cùng không chỉ hoạt động như mong đợi mà còn đáp ứng được yêu cầu và tiêu chuẩn chất lượng cao Trong thời đại công nghệ ngày nay, khi mà các ứng dụng phần mềm ngày càng trở nên phức tạp, việc kiểm thử tự động đã trở thành một giải pháp hiệu quả giúp tiết kiệm thời gian và giảm thiểu rủi ro.

Báo cáo này sẽ trình bày chi tiết về lý thuyết và thực tiễn của kiểm thử tự động, các phương pháp và công cụ được sử dụng, cũng như áp dụng

cụ thể cho một số chức năng của ứng dụng Hy vọng rằng những thông tin trong báo cáo sẽ đóng góp vào việc nâng cao chất lượng phần mềm và tạo

ra sản phẩm tốt nhất cho người dùng.

Tên đề tài: “Kiểm thử mạng xã hội 2friend”.

Nội dung báo cáo bao gồm 04 chương:

Chương 1: Công cụ kiểm thử tự động

Chương 2: Đặc tả phần mềm

Chương 3: Kế hoạch test

Chương 4: Xây dựng và thực hiện các test case

Trang 9

CHƯƠNG 1: CÔNG CỤ KIỂM THỬ TỰ ĐỘNG

Công cụ kiểm thử tự động là phần mềm hỗ trợ việc thực hiện kiểm thử một cách tự động, giảm thiểu sự can thiệp của con người Nó có khả năng thực hiện các kịch bản kiểm thử đã được viết trước đó và so sánh kết quả thực tế với kết quả mong đợi để phát hiện lỗi Kiểm thử tự động giúp tiết kiệm thời gian và đảm bảo tính chính xác cao hơn so với kiểm thử thủ công, đặc biệt trong các dự án lớn và phức tạp.

1.1 Giới thiệu về công cụ

Postman, JMeter, K6, và Selenium là những công cụ phổ biến

trong lĩnh vực kiểm thử tự động và hiệu năng của phần mềm Mỗi công cụ

có một mục đích riêng và phục vụ cho các loại kiểm thử khác nhau, bao gồm kiểm thử API, kiểm thử hiệu năng, và kiểm thử giao diện người dùng (UI) Dưới đây là phân tích về công cụ Postman:

1.1.1 Đặc điểm

Postman là một công cụ mạnh mẽ và dễ sử dụng để kiểm thử API

(Application Programming Interface) Nó giúp các lập trình viên và tester

dễ dàng tạo, gửi các yêu cầu HTTP, và kiểm tra phản hồi từ máy chủ.

trực quan, giúp người dùng dễ dàng tạo, quản lý và thực hiện các yêu cầu HTTP mà không cần nhiều kiến thức về dòng lệnh.

phương thức HTTP phổ biến như GET, POST, PUT, DELETE, PATCH, HEAD, và OPTIONS, giúp kiểm thử đầy đủ các chức năng của API.

Delivery): Postman có khả năng tích hợp với các hệ thống CI/CD như Jenkins, Travis CI, giúp tự động hóa quá trình kiểm thử trong quy trình phát triển phần mềm.

bằng JavaScript để thực hiện các kiểm tra phức tạp, bao gồm việc xác thực dữ liệu phản hồi, xử lý biến, và điều khiển luồng kiểm thử.

Trang 10

 Quản lý và chia sẻ bộ sưu tập: Người dùng có thể tạo các bộ sưu tập (Collections) để nhóm các yêu cầu API liên quan, dễ dàng chia sẻ với đồng nghiệp hoặc lưu trữ trên Postman Cloud để truy cập từ bất kỳ đâu.

các kiểm thử tự động theo thời gian hoặc sau các sự kiện cụ thể, giúp đảm bảo API luôn hoạt động ổn định.

kết quả kiểm thử, bao gồm thời gian phản hồi, trạng thái yêu cầu, và các lỗi phát hiện được, giúp dễ dàng phân tích và khắc phục sự cố.

1.1.2 Các thành phần

Postman bao gồm nhiều thành phần chính hỗ trợ toàn bộ quá trình kiểm thử API, bao gồm:

hành như Windows, macOS, và Linux Giao diện này cho phép người dùng tạo, quản lý và thực hiện các yêu cầu API một cách dễ dàng.

hoặc một nhóm chức năng cụ thể Collections giúp tổ chức các yêu cầu theo cấu trúc logic, dễ dàng quản lý và chia sẻ.

nghĩa các giá trị như URL cơ sở, khóa API, hoặc các thông số khác mà

có thể thay đổi giữa các môi trường (development, staging, production) Điều này giúp tái sử dụng các yêu cầu API trong nhiều môi trường khác nhau mà không cần chỉnh sửa thủ công.

được chạy trước khi gửi yêu cầu (Pre-request Scripts) hoặc sau khi nhận được phản hồi (Tests) Chúng giúp thực hiện các thao tác như thiết lập

dữ liệu, xác thực phản hồi, và điều khiển luồng kiểm thử.

cách tự động, hỗ trợ chạy nhiều lần với các tập dữ liệu khác nhau driven testing).

Trang 11

(data- Monitor: Tính năng giám sát giúp theo dõi hiệu suất và tình trạng của API theo thời gian thực Monitor có thể được lên lịch để chạy các kiểm thử định kỳ và gửi thông báo khi có sự cố xảy ra.

động hóa và tích hợp Postman với các công cụ khác thông qua các API của nó.

1.2 Cách tổ chức chương trình chạy với công cụ

Để tổ chức chương trình kiểm thử tự động với Postman một cách hiệu quả, chúng ta cần tuân thủ các bước và cấu trúc sau:

1.2.1 Thiết lập Môi trường Kiểm thử (Environment Setup):

Định nghĩa các biến môi trường: Tạo các môi trường khác nhau

(ví dụ: Development, Staging, Production) và định nghĩa các biến như base_url, api_key, token, v.v.

Quản lý biến: Sử dụng các biến này trong các yêu cầu API để dễ

dàng chuyển đổi giữa các môi trường mà không cần chỉnh sửa thủ công.

1.2.1 Tạo và Tổ chức Collections:

Tạo Collections cho từng module hoặc chức năng: Ví dụ: một

Collection cho User Management, một Collection cho Payment Processing, v.v.

Sử dụng thư mục con (folders): Trong mỗi Collection, tạo các thư

mục con để nhóm các yêu cầu API liên quan, giúp tổ chức logic và dễ quản lý hơn.

1.2.2 Viết Các Yêu cầu API:

Tạo các yêu cầu API cụ thể: Sử dụng các phương thức HTTP phù

hợp, định nghĩa URL, headers, body, v.v.

Sử dụng biến môi trường: Thay thế các giá trị cố định bằng các

biến môi trường để tăng tính linh hoạt.

1.2.3 Viết Scripts Kiểm thử:

Pre-request Scripts: Thực hiện các thao tác trước khi gửi yêu cầu,

chẳng hạn như lấy token xác thực từ yêu cầu trước đó.

Tests: Viết các script kiểm thử để xác thực dữ liệu phản hồi, kiểm

tra mã trạng thái HTTP, và thực hiện các kiểm tra logic khác.

Trang 12

1.2.4 Chạy Kiểm thử với Runner:

Sử dụng Collection Runner: Chạy toàn bộ Collection hoặc các thư

mục con một cách tự động, hỗ trợ chạy nhiều lần với các tập dữ liệu khác nhau (data-driven testing).

Sử dụng dữ liệu từ file CSV/JSON: Tạo các file dữ liệu để chạy

kiểm thử với nhiều bộ dữ liệu khác nhau, giúp kiểm tra tính linh hoạt và

độ bền của API.

1.2.5 Tích hợp với CI/CD:

Sử dụng Newman: Công cụ dòng lệnh của Postman cho phép chạy

các Collection trong môi trường CI/CD như Jenkins, GitLab CI, hay Travis CI.

Thiết lập tự động hóa: Tích hợp quá trình kiểm thử API vào

pipeline CI/CD để tự động chạy kiểm thử mỗi khi có thay đổi mã nguồn.

1.2.6 Báo cáo và Phân tích Kết quả:

Xem báo cáo trong Postman: Sử dụng giao diện của Postman để

xem kết quả kiểm thử chi tiết.

Tạo báo cáo tùy chỉnh với Newman: Sử dụng các plugin hoặc

script bổ sung để tạo báo cáo HTML, JSON, hoặc các định dạng khác phù hợp với yêu cầu của dự án.

1.3 Áp dụng kiểm thử tự động với một chức năng của app/website

Để chi tiết hơn về quá trình áp dụng kiểm thử tự động với một chức năng của ứng dụng hoặc website, ta có thể mở rộng ví dụ kiểm thử API Đăng nhập đã nêu ở trên Dưới đây là hướng dẫn cụ thể để kiểm thử một chức năng khác, chẳng hạn như API Lấy thông tin người dùng (Get User Info), sử dụng Postman.

Trang 13

Bước 1: Tạo yêu cầu API Lấy thông tin người dùng

Tạo yêu cầu mới trong Collection "Authentication APIs":

o Tên yêu cầu: "Get User Info"

đã đăng nhập.

Bước 2: Viết Scripts Kiểm thử cho yêu cầu Lấy thông tin người dùng

pm.test("Status code is 200", function () {

pm.response.to.have.status(200);

});

pm.test("Response contains user information", function () {

var jsonData = pm.response.json();

pm.expect(jsonData).to.have.property("username");

pm.expect(jsonData).to.have.property("email");

pm.expect(jsonData).to.have.property("name");

});

pm.test("User is active", function () {

var jsonData = pm.response.json();

pm.expect(jsonData.active).to.be.true;

});

Bước 3: Kiểm thử Lỗi khi không có Token

1 Tạo yêu cầu mới trong Collection:

Trang 14

o Mô tả: Yêu cầu này sẽ kiểm tra phản hồi khi không có token xác thực.

2 Test Script:

pm.test("Status code is 401", function () {

pm.response.to.have.status(401);

});

pm.test("Error message is correct", function () {

var jsonData = pm.response.json();

pm.expect(jsonData.message).to.eql("No token provided.");

2 Chạy tất cả các yêu cầu:

bao gồm cả yêu cầu "Login User", "Get User Info", và "Get User Info - No Token".

3 Xem kết quả kiểm thử:

kết quả và xem các lỗi nếu có.

Bước 5: Tạo báo cáo kiểm thử

thử để xem tổng quan về số lượng yêu cầu đã thực hiện, thời gian phản hồi, và số lượng kiểm thử đã pass/fail.

newman run Authentication_APIs.postman_collection.json -e Development.postman_environment.json -r cli,html

và lỗi.

Trang 15

CHƯƠNG 2: ĐẶC TẢ PHẦN MỀM 2.1 Giới thiệu về phần mềm

Ứng dụng mạng xã hội cho phép người dùng thực hiện các hoạt

động sau:

- Quản lý bài post: Người dùng có thể chia sẻ nội dung văn bản,

hình ảnh và video Họ cũng có thể tương tác với các bài viết thông qua bình luận, thích (like) và chia sẻ bài viết với bạn bè hoặc trong cộng đồng.

- Nhắn tin: Ứng dụng hỗ trợ gửi và nhận tin nhắn trong thời gian

thực Người dùng có thể gửi tin nhắn văn bản hoặc đa phương tiện, bao gồm hình ảnh và video.

- Tính năng cộng đồng: Người dùng có thể tham gia các nhóm,

tương tác với các thành viên khác, bình luận và thảo luận về các chủ đề trong nhóm, từ đó tạo ra một không gian giao lưu và chia sẻ kiến thức.

- Kết bạn: Người dùng có thể tìm kiếm và gửi yêu cầu kết bạn với

những người dùng khác, quản lý danh sách bạn bè và tương tác với họ thông qua các tính năng khác của ứng dụng.

- Đăng nhập/Đăng ký: Ứng dụng cho phép người dùng đăng ký tài

khoản mới và đăng nhập vào hệ thống để thực hiện các hoạt động trên Quy trình này được thiết kế đơn giản và nhanh chóng để thuận tiện cho người dùng.

Ứng dụng này tương thích với cả nền tảng web và di động, được phát triển với giao diện đơn giản và dễ sử dụng, đặc biệt hỗ trợ tốt cho các thiết bị di động thông qua Expo, giúp người dùng có trải nghiệm mượt mà

và thân thiện.

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 Use case chức năng quản lý bài post

Mô tả Use Case

Cho phép người dùng tạo, sửa, xóa bài viết trên tường

cá nhân hoặc trong các nhóm cộng đồng Nội dung bài viết có thể bao gồm văn bản, hình ảnh, và video.

Trang 16

Luồng sự kiện

chính

1 Người dùng đăng nhập vào hệ thống.

2 Người dùng chọn chức năng "Tạo bài viết mới".

3 Người dùng nhập nội dung bài viết và có thể đính kèm hình ảnh/video (nếu có).

4 Người dùng nhấn nút "Đăng bài".

5 Hệ thống lưu bài viết và hiển thị lên tường cá nhân hoặc cộng đồng.

2.2.1.2 Biểu đồ hoạt động của chức năng quản lý bài post

Biểu đồ hoạt động phân luồng giữa người dùng và hệ thống:

1 Người dùng chọn "Tạo bài viết mới".

tải lại tệp.

5. Người dùng nhấn nút "Đăng bài".

Trang 17

2.2.2.1 Use case chức năng nhắn tin

và từ bạn bè trong hệ thống.

Luồng sự kiện chính

1 Người dùng đăng nhập vào hệ thống.

2 Người dùng chọn người bạn để nhắn tin.

3 Người dùng nhập nội dung tin nhắn.

2.2.2.2 Biểu đồ hoạt động của chức năng nhắn tin

4. Người dùng nhấn "Gửi".

Trang 18

5 Hệ thống gửi tin nhắn và cập nhật cuộc hội thoại giữa hai người dùng.

2.2.3.1 Use case chức năng quản lý cộng đồng

Mô tả Use Case Cho phép người dùng tạo, tham gia, và quản lý các nhóm cộng đồng trong hệ thống.

Luồng sự kiện chính

1 Người dùng đăng nhập vào hệ thống.

2 Người dùng chọn chức năng "Tạo cộng đồng".

3 Người dùng nhập thông tin cộng đồng và nhấn nút "Tạo".

4 Hệ thống lưu cộng đồng và hiển thị trên giao diện.

2.2.3.2 Biểu đồ hoạt động của chức năng quản lý cộng đồng

Trang 19

2.2.4.1 Use case chức năng Đăng nhập - Đăng ký

Mô tả Use Case Cho phép người dùng đăng nhập vào hệ thống hoặc tạo tài khoản mới.

2.2.4.2 Biểu đồ hoạt động của chức năng Đăng nhập/Đăng ký

2.2.5.1 Use case chức năng Kết bạn

Trang 20

Mô tả Use Case Cho phép người dùng gửi yêu cầu kết bạn và quản lý danh sách bạn bè của mình.

Luồng sự kiện chính

1 Người dùng đăng nhập vào hệ thống.

2 Người dùng tìm kiếm và chọn người dùng khác.

3 Người dùng nhấn nút "Gửi yêu cầu kết bạn".

4 Hệ thống lưu yêu cầu kết bạn và thông báo cho người nhận.

Biểu đồ lớp mô tả các thành phần chính trong hệ thống mạng xã hội như:

trạng thái đăng nhập.

 Lớp Post: chứa thông tin về bài viết, bao gồm nội dung, hình ảnh/video, và tương tác của người dùng.

tương tác trong nhóm.

Trang 21

CHƯƠNG 3: KẾ HOẠCH TEST`

- Mục đích của việc lập kế hoạch test

Xác định những thông tin dự án và các thành phần dự án cần được kiểm thử

Liệt kê những yêu cầu kiểm thử (Test Requirements)

Nêu ra những phương pháp, chiến lược kiểu thử nên sử dụng

Xác định nguồn lực

Xác định rõ phạm vi kiểm thử

Xác định môi trường kiểm thử

3.1 Phạm vi kiểm thử (Test Scope)

Phạm vi kiểm thử sẽ bao gồm các chức năng chính của ứng dụng mạng xã hội 2Friend Những chức năng này sẽ được kiểm thử để đảm bảo chúng hoạt động đúng yêu cầu, không phát sinh lỗi và có khả năng tương thích trên nhiều nền tảng:

Testing

Itegration Testing

Security & Access Control Testing

Đăng ký và đăng nhập: Kiểm tra quá trình đăng ký tài khoản mới

và đăng nhập hệ thống với thông tin hợp lệ và không hợp lệ.

Quản lý bài viết: Tạo, chỉnh sửa và xóa bài viết với nội dung văn

bản, hình ảnh và video.

Nhắn tin: Gửi và nhận tin nhắn văn bản, hình ảnh, và video giữa

người dùng.

Trang 22

Quản lý cộng đồng: Tham gia nhóm, tương tác với bài viết trong

nhóm và các chức năng tương tác khác như like, share, bình luận.

Tính năng thông báo: Nhận thông báo về các sự kiện như tin nhắn

mới, lời mời kết bạn và phản hồi bình luận.

Bảo mật: Đăng nhập nhiều lần thất bại sẽ kích hoạt CAPTCHA;

kiểm tra mã hóa tin nhắn.

Các chức năng không cần kiểm thử

Cập nhật API từ bên thứ ba: Nếu có các chức năng phụ thuộc vào

API bên thứ ba, chúng sẽ không nằm trong phạm vi kiểm thử.

Tính năng chưa hoàn thiện: Những tính năng đang trong quá trình

phát triển sẽ không kiểm thử.

3.3 Công cụ kiểm thử (Test Tools)

Self construction Version

2 Kiểm soát lỗi

Latest

3 Kiểm thử tự động giao diện Selenium SeleniumHQ Latest

5

Kiểm thử tự động

trên ứng dụng di

động

Compass

Open - source

Ngày đăng: 15/11/2024, 19:57

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w