Kiểm thử phần mềm nhúng nhóm 3

44 0 0
Kiểm thử phần mềm nhúng nhóm 3

Đ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

Kiểm thử phần mềm KIỂM THỬ THỦ CÔNG MỘT SỐ CHỨC NĂNG CỦA WEBSITE KOFFICE Chương 1: Tổng quan về kiểm thử phần mềm Chương 2: Kế hoạch kiểm thử Chương 3: Thực hiện kiểm thử và đánh giá kết quả Hiện nay, công việc phát triển và kiểm thử website nói riêng cũng đang trên đà phát triển mạnh bởi nhu cầu sử dụng của con người ngày càng cao. Chỉ cần một thiết bị kết nối internet đã có thể truy cập được đến mọi website trên thế giới. Tuy nhiên, kiểm thử website cũng còn tồn tại một số khó khăn và ảnh hưởng trực tiếp đến nó như: tính bảo mật, hiệu suất, giao diện, chức năng có hoạt động tốt hay không, … Do đó, nhóm chúng em đã quyết định chọn đề tài “Kiểm thử thủ công một số chức năng của Website KOffice” cho môn học Kiểm thử phần mềm nhúng.

HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO MÔN HỌC KIỂM THỬ PHẦN MỀM NHÚNG Đề tài: KIỂM THỬ THỦ CÔNG MỘT SỐ CHỨC NĂNG CỦA WEBSITE K-OFFICE Giảng viên hướng dẫn: ThS Thái Thị Thanh Vân Sinh viên thực hiện: Đinh Công Tuấn - CT050453 Hoàng Tuấn Minh - CT050432 Vũ Tuấn Kiệt - CT050427 Hà Nội, 03 – 2024 LỜI NÓI ĐẦU Kiểm thử phần mềm là quá trình đánh giá một phần mềm để đảm bảo rằng nó hoạt động đúng đắn, hiệu quả và đáp ứng được các yêu cầu của người dùng Quá trình này thường được thực hiện để xác nhận tính năng, sự ổn định, hiệu suất, và bảo mật của phần mềm Việc không kiểm thử phần mềm có thể dẫn đến nhiều hậu quả tiêu cực, từ mất mát tài chính đến tổn thất về uy tín và cơ hội thị trường Điều này làm nổi bật tầm quan trọng của việc thực hiện kiểm thử phần mềm một cách cẩn thận và toàn diện trong quá trình phát triển sản phẩm Hiện nay, công việc phát triển và kiểm thử website nói riêng cũng đang trên đà phát triển mạnh bởi nhu cầu sử dụng của con người ngày càng cao Chỉ cần một thiết bị kết nối internet đã có thể truy cập được đến mọi website trên thế giới Tuy nhiên, kiểm thử website cũng còn tồn tại một số khó khăn và ảnh hưởng trực tiếp đến nó như: tính bảo mật, hiệu suất, giao diện, chức năng có hoạt động tốt hay không, … Do đó, nhóm chúng em đã quyết định chọn đề tài “Kiểm thử thủ công một số chức năng của Website K-Office” cho môn học Kiểm thử phần mềm nhúng Bản báo cáo gồm 3 phần: Chương 1: Tổng quan về kiểm thử phần mềm Chương 2: Kế hoạch kiểm thử Chương 3: Thực hiện kiểm thử và đánh giá kết quả 1 LỜI CẢM ƠN Báo cáo Kiểm thử phần mềm nhúng là kết quả tìm hiểu và nghiên cứu của nhóm chúng em Để có thể thực hiện và hoàn thành báo cáo này, em đã nhận được sự hướng dẫn và giúp đỡ nhiệt tình của các thầy cô trong Học viện Kỹ thuật Mật Mã Nhóm em xin chân thành cảm ơn đến các thầy cô đã tận tình dạy bảo, truyền đạt kiến thức cho chúng em trong suốt quá trình học tập Đặc biệt, chúng em xin gửi lời cảm ơn sâu sắc đến cô Thái Thị Thanh Vân – người đã tận tình cung cấp tài liệu, kiến thức và chỉ bảo chúng em trong suốt quá trình thực hiện đề tài này Trong quá trình làm đề tài, do thời gian có hạn và trình độ kiến thức, kinh nghiệm còn hạn chế nên chắc chắn không tránh khỏi những thiếu sót Chúng em rất mong nhận được sự góp ý từ thầy, cô để chúng em có thể học hỏi thêm nhiều điều, hoàn thiện hơn bài báo cáo của mình cũng như hoàn thành tốt hơn các bài báo cáo sắp tới Chúng em xin chân thành cảm ơn! Nhóm sinh viên thực hiện Đinh Công Tuấn Hoàng Tuấn Minh Vũ Tuấn Kiệt 2 MỤC LỤC LỜI NÓI ĐẦU 1 LỜI CẢM ƠN 2 CHƯƠNG 1: KHÁI QUÁT VỀ PHẦN MỀM VÀ KIỂM THỬ PHẦN MỀM .5 1.Tổng quan về phần mềm 5 1.1 Định nghĩa 5 1.2 Phân loại phần mềm 6 1.3 Quy trình phát triển phần mềm 6 1.4 Mối quan hệ giữa quy trình phát triển phần mềm và kiểm thử 9 2 Tổng quan về kiểm thử phần mềm 10 2.1 Khái niệm 10 2.2 Vai trò của kiểm thử phần mềm .11 2.3 Các kỹ thuật kiểm thử phần mềm 11 2.4 Một số loại hình kiểm thử phổ biến 12 Chương 2 KẾ HOẠCH KIỂM THỬ 14 1 Giới thiệu 14 1.1 Mục đích 14 1.2 Tổng quan 14 1.3 Phạm vi 14 1.4 Lịch trình công việc 14 2 Chiến lược kiểm thử .15 2.1 Kiểm thử chức năng 15 2.2 Kiểm thử khả năng sử dụng .15 3, Thiết kế Test Case 16 3.1 Trang đăng ký 16 3.2 Trang đăng nhập .17 3.3 Trang tạo thư mục 18 3.4 Trang K-WORD .22 3.5 Trang K-Learning .26 3.6 Trang Quản lý tài khoản 27 3 CHƯƠNG 3: THỰC HIỆN KIỂM THỬ VÀ ĐÁNH GIÁ KẾT QUẢ 31 1 Thực thi kiểm thử 31 1.1 Tạo tài khoản 31 1.2 Trang đăng nhập .32 1.3 Trang tạo thư mục 34 1.4 Trang K-WORD .37 1.5Trang K-Learning 41 1.6 Trang quản lý tài khoản 43 2 Đánh giá kết quả kiểm thử 46 3 Kết luận 46 TÀI LIỆU THAM KHẢO 47 4 CHƯƠNG 1: KHÁI QUÁT VỀ PHẦN MỀM VÀ KIỂM THỬ PHẦN MỀM 1.Tổng quan về phần mềm 1.1 Định nghĩa Phần mềm là một tập hợp các chương trình máy tính, dữ liệu, tài liệu và hướng dẫn, cũng như các yếu tố không vật lý khác, được thiết kế để thực hiện một hoặc nhiều nhiệm vụ hoặc chức năng cụ thể trên một máy tính hoặc thiết bị điện tử Phần mềm có thể được phát triển để chạy trên nhiều nền tảng khác nhau, bao gồm máy tính cá nhân, máy chủ, thiết bị di động, thiết bị nhúng và các hệ thống nhúng khác Một số đặc điểm chính của phần mềm bao gồm: o Được viết bằng ngôn ngữ lập trình: Phần mềm thường được viết bằng các ngôn ngữ lập trình như C, C++, Java, Python, và nhiều ngôn ngữ lập trình khác o Thực hiện chức năng cụ thể: Phần mềm được thiết kế để thực hiện một loạt các chức năng hoặc nhiệm vụ cụ thể, như xử lý dữ liệu, tương tác với người dùng, hoặc kết nối với các hệ thống khác o Cấu trúc và tổ chức: Phần mềm thường được tổ chức thành các thành phần logic, modules, hoặc lớp để dễ dàng quản lý và bảo trì o Có thể thay đổi và cải thiện: Phần mềm có thể được cập nhật, mở rộng và cải thiện qua thời gian để đáp ứng nhu cầu mới và sửa chữa các lỗi hoặc vấn đề phát sinh o Đòi hỏi quản lý và bảo trì: Phần mềm cần được quản lý và bảo trì để đảm bảo tính ổn định, an ninh và hiệu suất Phần mềm có thể được phân loại thành nhiều loại khác nhau, bao gồm ứng dụng máy tính cá nhân, ứng dụng di động, phần mềm doanh nghiệp, phần mềm nhúng, phần mềm máy chủ, và nhiều loại khác Đồng thời, nó cũng là một phần quan trọng của hệ thống thông tin hiện đại và kinh tế số 5 1.2 Phân loại phần mềm 1.2.1 Theo phương thức hoạt động • Phần mềm hệ thống dùng để vận hành máy tính và các phần cứng máy tính Đây là các loại phần • mềm mà hệ điều hành liên lạc với chúng để điều khiển và quản lý các thiết bị phần cứng • Phần mềm ứng dụng: để người sử dụng có thể hoàn thành một hay nhiều công việc nào đó • Các phần mềm chuyển dịch mã bao gồm trình biên dịch và trình thông dịch • Các nền tảng công nghệ như NET, 1C: DOANH NGHIỆP 1.2.2 Theo khả năng ứng dụng • Phần mềm thời gian thực (các PM anti-virus, PM chat ) • PM giải trí (Game ) • PM nhúng: chạy trên các thiết bị đặc thù như điện thoại di động, TV, máy lạnh, • PM phân tán: chạy trên nhiều thiết bị, phối hợp hoạt động đồng thời với nhau 1.3 Quy trình phát triển phần mềm 1.3.1 Tổng quan Cũng như mọi ngành sản xuất khác, qui trình là một trong những yếu tố cực kỳ quan trọng đem lại sự thành công cho các nhà sản xuất phần mềm, nó giúp cho mọi thành viên trong dự án từ người cũ đến người mới, trong hay ngoài công ty đều có thể xử lý đồng bộ công việc tương ứng vị trí của mình thông qua cách thức chung của công ty, hay ít nhất ở cấp độ dự án.Có thể nói qui trình phát triển/xây dựng phần mềm (Software Development/Engineering Process - SEP) có tính chất quyết định để tạo ra sản phẩm chất luợng tốt với chiphí thấp và năng suất cao Vậy quy trình là gì? Quy trình có thể hiểu là phương pháp thực hiện hoặc sản xuất ra sản phẩm Tương tự như vậy, SEP chính là phương pháp phát triển hay sản xuất ra sản phẩm phần mềm Thông thường một qui trình bao gồm những giai đoạn cơ bản sau: • Đặc tả yêu cầu (Requirements Specification): chỉ ra những “đòi hỏi” cho cả các yêu cầu chức năng và phi chức năng • Phát triển phần mềm (Development): tạo ra phần mềm thỏa mãn các yêu cầu được chỉ ra trong “Đặc tả yêu cầu” 6 1.3.2 Các mô hình SEP Có khá nhiều mô hình SLC khác nhau, trong đó một số được ứng dụng khá phổ biến trên thế giới: • Mô hình Waterfall (Waterfall model) • Mô hình chữ V(V-model) • Các mô hình nhiều phiên bản (Multi-version models) • Mô hình mẫu (Prototype) • Mô hình tiến hóa (Evolutionary) • Mô hình lặp và tăng dần (Iterative and Incremental) • Mô hình phát triển ứng dụng nhanh (RAD) • Mô hình xoắn ốc (Spiral) • Mô hình phát triển dựa trên kiểm thử (Test Driven Development-TDD) 1.3.3 Mô hình phát triển dựa trên kiểm thử (TDD) a Định nghĩa TDD là một phương pháp tiếp cận mới nhằm cải tiến quy trình phát triển phần mềm trong đó kết hợp phương pháp Phát triển kiểm thử trước (Test First Development) và phương pháp Điều chỉnh lại mã nguồn (Refactoring) Mục tiêu quan trọng nhất của TDD là viết mã nguồn sáng sủa, rõ ràng và có thể chạy được b Các cải tiển của TDD TDD hoàn toàn thay đổi cách phát triển truyền thống Khi ta bắt đầu thực hiện một tính năng mới, câu hỏi đầu tiên đặt ra là liệu thiết kế hiện tại có phải là thiết kế tốt nhất cho phép ta thực hiện các chức năng hay không Nếu có, ta tiến hành thông qua một phương pháp Phát triển kiểm thử trước TFD Nếu không, ta điều chỉnh lại nó một cách cục bộ để thay đổi riêng phần thiết kế bị ảnh hưởng bởi tính năng mới, cho phép ta dễ dàng bổ thêm các tính năng có thể Kết quả là chất lượng thiết kế của ta sẽ luôn luôn được nâng cao, do đó sẽ thuận lợi hơn khi làm việc với nó trong tương lai Một giả định cơ bản của TDD là ta có sẵn một nền tảng (framework) cho kiểm thử mức đơn vị (unit-test) Những lập trình viên phần mềm theo phương pháp Agile thường sử dụng các công cụ mã nguồn mở thuộc họ xUnit, như JUnit hay VBUnit, mặc dù các công cụ thương mại cũng là những lựa chọn khả dĩ Nếu không có những công cụ như vậy thì TDD hầu như không thể thực hiện được Hai nguyên tắc đơn giản cho TĐ: Trước tiên, ta nên viết mã xử lý nghiệp vụ mới chỉ khi mẫu kiểm thử tự động thực hiện không thành công Thứ hai, ta nên loại bỏ bất kỳ sự trùng lặp mà ta tìm thấy Những quy tắc đơn giản: 7  Thiết kế với mã nguồn mà chúng chạy được và tạo ra kết quả phản hồi giữa các quyết định  Tự viết các mẫu kiểm thử của riêng minh, không chờ người khác  Môi trường phát triển phải cung cấp được kết quả nhanh với những thay đổi nhỏ (ví dụ như ta cần một trình biên dịch nhanh và chuỗi kiểm thử hồi quy)  Thiết kế phải bao gồm những thành phần gắn kết, sự phụ thuộc lẫn nhau nhỏ để thực hiện các mẫu kiểm thử dễ dàng hơn c TDD và cách kiểm thử truyền thống TDD là một kỹ thuật thiết kế với một hiệu ứng phụ là việc đảm bảo toàn bộ mã nguồn được thực hiện kiểm thử mức đơn vị Tuy nhiên, còn có những điều quan trọng hơn cả việc thực hiện kiểm thử Ta sẽ vẫn cần xem xét các kỹ thuật kiểm thử khác nhau như kiểm thử chấp nhận (acceptance test) hay kiểm thử dò hỏi (investigative test) theo kiểu Agile Ta có thể thực hiện nhiều những kiểu kiểm thử này trong dự án nếu như ta chọn làm điều đó (vì ta nên làm) Mặc dù TDD là một phương pháp kiểm thử và phát triển khác biệt, nhưng nó thường được xem là một phần của phương pháp kiểm thử hộp trắng, với việc viết các test case trước khi triển khai mã nguồn d Tại sao nên dùng TDD? Có nhiều lợi ích khi sử dụng phương pháp phát triển phần mềm Test-Driven Development (TDD), bao gồm:  Đảm bảo chất lượng mã nguồn: TDD tạo điều kiện để viết mã nguồn có chất lượng cao hơn Bằng cách viết test case trước khi triển khai mã nguồn, các nhà phát triển phải suy nghĩ về yêu cầu và giao diện của hệ thống trước khi viết mã Điều này giúp đảm bảo rằng mã nguồn sẽ phản ánh đúng yêu cầu của dự án  Thúc đẩy thiết kế tốt hơn: TDD khuyến khích việc áp dụng các nguyên tắc thiết kế tốt như SOLID (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion) và DRY (Don't Repeat Yourself) Bằng cách viết các test case trước, các nhà phát triển thường phải suy nghĩ về cách thiết kế mã nguồn sao cho dễ kiểm thử, linh hoạt và tái sử dụng  Phát hiện lỗi sớm hơn: Việc viết test case trước khi triển khai mã nguồn giúp phát hiện các lỗi sớm trong quá trình phát triển Khi một test case không thành công, người phát triển biết ngay lập tức rằng có lỗi xảy ra và có thể sửa chữa nó ngay trước khi lỗi lan rộng ra các phần khác của hệ thống  Tăng tốc độ phát triển: Mặc dù có vẻ như việc viết test case trước khi triển khai mã nguồn có thể tốn thời gian, nhưng thực tế cho thấy rằng TDD thường giúp tăng tốc độ phát triển Bằng cách loại bỏ thời gian cần thiết để gỡ lỗi mã nguồn 8 sau khi triển khai, và giảm thiểu số lượng lỗi xuất hiện trong quá trình phát triển, TDD có thể giúp tiết kiệm thời gian toàn diện  Tăng tin cậy và tự tin trong việc thay đổi mã nguồn: Với một tập hợp robust của test case, các nhà phát triển có thể dễ dàng kiểm tra xem các thay đổi trong mã nguồn có làm ảnh hưởng đến tính năng hiện tại hay không Điều này giúp họ tự tin hơn khi thực hiện các thay đổi và refactor mã nguồn Tóm lại, việc sử dụng TDD có thể cung cấp nhiều lợi ích cho quá trình phát triển phần mềm, bao gồm cải thiện chất lượng mã nguồn, phát hiện lỗi sớm, và tăng tốc độ phát triển 1.4 Mối quan hệ giữa quy trình phát triển phần mềm và kiểm thử Mối quan hệ giữa quy trình phát triển phần mềm và kiểm thử là rất chặt chẽ và tương tác Cả hai đều là các hoạt động quan trọng trong quy trình phát triển phần mềm và đều hướng đến mục tiêu chung là sản phẩm phần mềm chất lượng cao Dưới đây là một số mối quan hệ chính giữa quy trình phát triển phần mềm và kiểm thử:  Liên kết với quy trình phát triển phần mềm: Kiểm thử là một phần quan trọng của quy trình phát triển phần mềm và thường được tích hợp vào các chu trình phát triển như Agile, Waterfall, hoặc DevOps Trong mỗi chu trình, các hoạt động kiểm thử được lập kế hoạch và triển khai song song với các hoạt động phát triển  Phản hồi và cải tiến liên tục: Kiểm thử cung cấp phản hồi quan trọng cho quá trình phát triển phần mềm Kết quả từ việc kiểm thử giúp các nhà phát triển hiểu về chất lượng và tính chính xác của sản phẩm, từ đó họ có thể điều chỉnh hoặc cải thiện mã nguồn để đạt được kết quả tốt hơn  Xác định yêu cầu và tiêu chí chấp nhận: Trong quy trình phát triển phần mềm, các yêu cầu và tiêu chí chấp nhận được xác định từ đầu Các test case sau đó được phát triển dựa trên những yêu cầu này để đảm bảo rằng phần mềm đáp ứng được những yêu cầu này  Kiểm thử hỗ trợ phát triển: Trong quy trình phát triển phần mềm, kiểm thử cung cấp một cơ chế để đảm bảo rằng mã nguồn được phát triển đúng cách Việc viết test case trước khi triển khai mã nguồn (TDD) có thể thúc đẩy thiết kế tốt hơn và giúp phát triển mã nguồn có chất lượng cao hơn  Bảo đảm chất lượng sản phẩm: Kiểm thử là một phần quan trọng của quy trình đảm bảo chất lượng phần mềm (QA - Quality Assurance) Các hoạt động kiểm thử như kiểm thử đơn vị, kiểm thử hệ thống và kiểm thử tích hợp giúp đảm bảo 9

Ngày đăng: 20/03/2024, 17:03

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan