Please enable JavaScript.
Coggle requires JavaScript to display documents.
Cài đặt và vận hành hệ thống (Installing and operating system) - Coggle…
Cài đặt và vận hành hệ thống (Installing and operating system)
Kiểm thử và gỡ lỗi chương trình
Định nghĩa - Definition
Kiểm thử (Testing): là một quá trình đảm bảo rằng chương trình sẽ thực hiện được nhiệm vụ được giao
Kiểm thử thủ tục liên quan đến việc chạy chương trình với nhiều
mẫu dữ liệu đầu vào, so sánh kết quả đạt được với kết quả đúng
Dữ liệu thử nghiệm phải kiểm tra từng chức năng logic của chương trình, và nên bao gồm tất cả các loại dữ liệu có thể hợp lệ và không hợp lệ
Chương trình phát hành để thử nghiệm được gọi là Alpha version và thử nghiệm được tiến hành trên nó được gọi là Alpha testing
Chương trình phát hành để thử nghiệm bổ sung cho một lựa chọn của người dùng bên ngoài là Beta version và thử nghiệm được tiến hành trên nó được gọi là Beta testing
Kiểm thử là quá trình chạy chương trình với nhiều mẫu dữ liệu khác nhằm đảm bảo chương trình không có lỗi logic, kết quả luôn luôn chính xác
Dữ liệu được lựa chọn để kiểm thử một chương trình bao gồm
Tất cả các dữ liệu nằm trong phạm vi do chương trình qui
định
Tất cả các loại dữ liệu không hợp lệ (không chính xác, không đầy đủ, hoặc kiểu dữ liệu không thích hợp) với qui định của chương để kiểm tra khả năng xử lý các lỗi của chương trình. Các chương trình tốt sẽ xuất những thông báo lỗi thích hợp thay vì treo chương trình hoặc tạo ra các kết quả vô nghĩa
Gỡ lỗi (Debugging): là một quá trình tìm và loại bỏ lỗi chương trình
Bộ xử lý ngôn ngữ đưa ra các thông báo lỗi của các lệnh trong chương trình cho biết là lỗi gì và đưa ra gợi ý sửa lỗi
Lỗi cú pháp tương đối dễ dàng phát hiện và dễ sửa lỗi
Không giống như các lỗi cú pháp, máy tính không đưa ra bất kỳ thông báo lỗi nào cho các lỗi logic trong một chương trình. Do vậy lỗi logic khó loại bỏ hơn nhiều so với các lỗi cú pháp
Lỗi logic chỉ được phát hiện trong quá trình kiểm thử
Các loại lỗi của chương trình - Types of Program Errors
Lỗi cú pháp - Syntax Errors: Là các lệnh trong chương trình không tuân theo cú pháp của ngôn ngữ lập trình đó
Lỗi Logic - Logic Errors: Chương trình vẫn được biên dịch và thực hiện thành công nhưng kết quả không chính xác
Các cách kiểm thử và gỡ lỗi
Mô phỏng bằng tay mã chương trình
Thi hành từng lệnh của chương trình
Người lập trình có thể biết được giá trị của các biến trong từng lệnh, từ đó mới phát hiện lỗi logic của chương trình
Thực hiện bằng tay một chương trình là một quy trình dài dòng đòi hỏi phải tập trung rất nhiều. Do vậy phương pháp này thường chỉ được sử dụng cho các chương trình đơn giản và nhỏ
Đưa các lệnh xuất dữ liệu vào trong các đoạn mã của chương
trình
Đưa một vài lệnh xuất dữ liệu tại các điểm thích hợp trong chương trình sao cho các giá trị của các biến khác nhau được in / hiển thị để chỉ ra các kết quả của sự tính toán trung gian
Chương trình được biên soạn lại và thực hiện với các
câu lệnh
Một khi các lỗi đã được tìm thấy và sửa chữa, các lệnh
in hay viết này được xóa bỏ từ chương trình
Sử dụng bộ gỡ lỗi (debugger)
Đây là phương pháp tiếp cận được sử dụng phổ biến
nhất
Bộ gỡ lỗi là một công cụ phần mềm hỗ trợ cho lập trình viên trong việc từng bước thực hiện chương trình để hiển thị các kết quả tính toán trung gian và các vùng giá trị bất cứ khi nào muốn
Khi sử dụng một bộ gỡ lỗi để gỡ lỗi logic của chương trình, bạn có thể di chuyển, hoặc từ câu lệnh này đến câu lệnh khác hoặc từ một điểm kiểm tra này đến một điểm kiểm tra khác, tạm dừng việc thực hiện của chương trình khi cần thiết để kiểm tra các giá trị cần thiết
Bộ gỡ lỗi hỗ trợ hai công cụ:
Điểm ngắt (Breakpoint)
Là một điểm mà bộ gỡ lỗi dừng lại khi thực thi chương trình và đợi lệnh của bạn. Khi dừng lại bạn có thể chỉ thị nó để hiển thị giá trị hiện tại của các tham số cần kiểm tra
Bạn có thể đặt hoặc gỡ bỏ bất kỳ điểm ngắt nào tại bất kỳ lệnh nào của chương trình. Bạn có thể thiết lập nhiều điểm ngắt
Điểm quan sát (watch point)
Bộ gỡ lỗi theo dõi lần vết biến và thời điểm giá trị của
nó thay đổi, dừng lại và cho phép bạn quyền kiểm soát
Bộ gỡ lỗi sẽ ngừng ngay lập tức sau câu lệnh đã làm cho giá trị của biến thay đổi và sẽ chờ lệnh thêm vào của bạn
Sử dụng kết xuất bộ nhớ (Memory dump)
Thường được sử dụng khi chương trình “bị treo" trong
thời gian chạy thử nghiệm
Trong phương pháp tiếp cận này, bản sao nội dung thuộc bộ nhớ chính và bộ đếm được lấy tại thời điểm khi các chương trình bị treo
Bản sao này được gọi là sự kết xuất bộ nhớ hoặc kết
xuất vùng nhớ
Danh sách các chỉ thị và dữ liệu kết xuất bộ nhớ được giữ trong bộ nhớ chính của máy tính theo hình thức nguyên mẫu, nghĩa là hình thức nhị phân, thập lục phân hay hệ bát phân
Sự khác biệt
Kiểm thử
Kiểm thử là một quá trình xác nhận sự đúng đắn của một chương trình. Mục đích là để chứng minh rằng các chương trình thiết kế đáp ứng các chi tiết kỹ thuật
Kiểm thử được hoàn thành khi tất cả các lệnh đã được thực hiện đúng
Kiểm thử là một quá trình đã được định nghĩa và cần được quy hoạch và lập kế hoạch đúng
Kiểm thử có thể bắt đầu trong giai đoạn đầu phát triển phần mềm
Gỡ lỗi
Gỡ lỗi là một quá trình loại bỏ lỗi trong một chương trình. Mục đích là để phát hiện chính xác nguyên nhân và loại bỏ các lỗi được biết trong chương trình
Gỡ lỗi hoàn thành khi tất cả các lỗi được biết trong chương trình đã được chỉnh sửa. Lưu ý quá trình gỡ lỗi kết thúc chỉ tạm thời vì nó phải được khởi động lại bất cứ khi nào một lỗi mới được tìm thấy trong chương trình
Gỡ lỗi là một quá trình không thể được lên kế hoạch trước. Nó chỉ được thực hiện khi phát hiện lỗi trong một chương trình
Gỡ lỗi chỉ bắt đầu sau khi chương trình được mã hóa
Tài liệu phần mềm
Định nghĩa
Tài liệu phần mềm là một quá trình thu thập, tổ chức, lưu trữ các ghi chép về quá trình hoàn thành chương trình
Một phần mềm không thể được coi là hoàn thành cho
đến khi nó có tài liệu hợp lệ
Tài liệu phần mềm là một tiến trình không bao giờ kết
thúc trong suốt vòng đời của phần mềm
Nó phải được thực hiện theo thời gian và khi đó phần
mềm được sửa đổi trong suốt giai đoạn bảo trì
Sự cần thiết của tư liệu phần mềm
Giải quyết vấn đề mang tính bắt buộc của một cá nhân
trong một tổ chức
Khả năng bảo trì của phần mềm máy tính. Chìa khóa
để bảo trì là tài liệu phần mềm phù hợp và năng động
Hồ sơ tài liệu khá hữu ích trong việc bắt đầu lại một dự
án phần mềm đã được hoãn vì một số lý do nào đó
Các hình thức của tài liệu phần
Các chú thích
Chúng được sử dụng để giải thích sự logic của chương trình
Các chú thích nên được sử dụng một cách thông minh để cải thiện chất lượng và tính chất có thể hiểu được của chương trình
Các chú thích bị bỏ qua khi biên dịch cũng như khi thực thi chương trình
Sổ tay hệ thống
Trình bày rõ mục tiêu của phần mềm và tính hữu dụng của nó vào mục đích khác nhau của người sử dụng.
Mô tả rõ các chức năng, hạn chế, hình thức và các dạng của dữ liệu đầu vào sẽ được sử dụng, và kết quả đầu ra cần tìm.
Tên cụ thể của chương trình cùng với sự mô tả về mục đích của chương trình .
Biểu đồ chi tiết về hệ thống và biểu đồ của chương trình để tham chiếu đến danh sách tham số, biến của chương trình
Mô tả danh sách chương trình, các quá trình tính toán được thực hiện và kiểm soát các thủ tục.
Danh sách mã nguồn của tất cả các chương trình cùng với thông tin chi tiết về bất kỳ sự thay đổi nào.
Mô tả và chỉ rõ tất cả các đầu vào và đầu ra cho các phương tiện truyền thông.
Là mẫu của tất cả các hình thức đầu vào và in ra kết quả đầu ra.
Bố trí dạng tập tin, các dạng chi tiết mẫu tin vào và ra.
Cấu trúc và mô tả về dữ liệu kiểm thử và kết quả kiểm thử, sự kết xuất vùng nhớ, theo dõi dữ liệu chương trình, dữ liệu in ra từ máy tính,…, được sử dụng để gỡ lỗi các chương trình.
Sổ tay người dùng chứa các thông tin sau:
Chi tiết cài đặt và hoạt động mỗi chương trình.
Nạp và không nạp các thủ tục
Bắt đầu, chạy, và chấm dứt các thủ tục.
Mô tả và ví dụ các câu lệnh kiểm tra có thể được dùng
Tất cả các lệnh giao tiếp cùng với các lỗi và các thông báo giao tiếp có thể phát sinh, trả lời và hành động thực hiện
Danh sách các điều kiện, lỗi và các giải thích cho việc gọi lại
chúng vào hệ thống
Danh sách các chương trình được thực hiện trước và sau khi thực hiện của mỗi chương trình
Kiểm tra đặc biệt (nếu có) và các biện pháp bảo mật
Tiêu chuẩn của tư liệu phần mềm
Chi tiết tư liệu phần mềm được thực hiện như thế nào?
Làm thế nào để lựa chọn tên biến cho chương trình?
Làm thế nào để thiết kế giao diện cho người sử dụng phần mềm?
Làm thế nào để trình bày chi tiết các chú thích trong mã chương trình, sơ đồ, biểu đồ, báo cáo, kết quả đầu ra?
Thay đổi thành hệ thống mới
Hoạt động thay đổi
Phổ biến hệ thống và đào tạo người sử dụng cho các thành viên của tổ chức, trong đó hệ thống mới được triển khai.
Thay thế tất cả các thủ tục hoạt động cũ bằng những cái mới.
Thay thế tất cả các thiết bị đầu vào và đầu ra bằng những thứ của hệ thống mới.
Xác định vai trò của từng thành viên và giao trách nhiệm cho họ theo các yêu cầu của hệ thống mới.
Chuyển đổi dữ liệu trên tất cả tập tin đang tồn tại thành một hình thức mà hệ thống mới chấp nhận được.
Mâu thuẫn giữa các tập tin hay bất kỳ lỗi nào trong tập tin hiện tại cũng phải được phát hiện và loại bỏ.
Phương thức thay đổi
Chuyển đổi trực tiếp (Immediate Changeover)
Là giới hạn ngày với quyết định và sự hoàn thành hệ thống mới được đặt vào hoạt động từ ngày đó trở đi.
Là nguyên nhân gây ra lỗi nghiêm trọng vì một lỗi bất kì trong hệ thống mới là nguyên nhân gây ra toàn bộ hoạt động của tổ chức không thể tiến hành bởi vì tất cả các hoạt động của hệ thống cũ đã ngừng lại.
Phương pháp này được dùng trong những tình huống có sẵn nhân lực và thời gian chuyển đổi ít hơn.
Chạy song song (Parallel Run)
Cả hệ thống cũ và hệ thống mới đều hoạt động song song với cùng một dữ liệu ban đầu cho ba hay bốn chu kỳ. Kết quả của hệ thống mới được so sánh với hệ thống cũ để tăng độ tin cậy trong các hệ thống mới.
Là một trong những phương pháp an toàn để triển khai một hệ thống mới.
Không có sự gián đoạn công việc nếu có vấn đề với hệ thống mới, vì hệ thống cũ vẫn còn đang hoạt động và những vấn đề được tìm thấy trong hệ thống mới có thể được sửa chữa, trong khi hệ thống cũ vẫn còn được sử dụng.
Phương pháp này rất tốn kém, vì bổ sung nhân lực cần thiết trong suốt các quá trình chồng chất lên nhau của các hoạt động của hai hệ thống song song.
Phương pháp này không được ưa thích trong trường
hợp nguồn nhân lực khan hiếm.
Chuyển đổi từng giai đoạn (Phased Conversion)
Việc chuyển đổi hoàn toàn vào hệ thống mới và nó diễn ra tăng dần theo thời gian.
Các kết quả thu được ở mỗi phần của hệ thống mới được so sánh với các kết quả của hệ thống cũ. Bất kỳ khác biệt hay sai sót nào tìm thấy sẽ được kiểm tra và gỡ bỏ.
Độ tin cậy tăng trong từng phần riêng biệt của hệ thống
mới.
Qua một thời gian hệ thống mới đang đi dần vào trong giai đoạn thực hiện, trong khi hệ thống cũ từng bước ra khỏi giai đoạn.
Đánh giá hệ thống
Đánh giá hiệu quả (Performance Evaluation)
Phân tích chi phí (Cost Analysis)
Phân tích thời gian (Time Analysis)
Sự hài lòng của người sử dụng (User Satisfaction)
Sửa đổi dễ dàng (Ease of Modification)
Tỷ lệ thất bại (Failure Rate)
Bảo trì hệ thống: Hệ thống cần phải được sửa đổi vì những lí do sau
Thay đổi điều kiện kinh doanh hoặc hoạt động của tổ chức đang sử dụng hệ thống.
Thay đổi chính sách hoặc tổ chức thực thi các luật lệ mới.
Thay đổi theo nhu cầu của người sử dụng.
Thay đổi công nghệ mới.
Bảo trì hệ thống là một giai đoạn quan trọng trong chu kỳ sống của một hệ thống máy tính.
Chi phí của việc duy trì một hệ thống máy vi tính nhiều hơn từ hai đến bốn lần chi phí ban đầu phát triển.
Một trong những phương thức đạt được yêu cầu kiểm soát này là tất cả các yêu cầu cho việc thay đổi đánh giá hệ thống đều do Ban kiểm soát thay đổi.
Các hoạt động kinh doanh nên được ghi lại và định kỳ tổng kết báo cáo cho hội đồng.
Khi chương trình được sửa đổi, điều quan trọng là đảm bảo rằng các tài liệu hướng dẫn chương trình cũng được thay đổi cho phù hợp. Nếu không tồn tại tài liệu phù hợp với các chương trình, các thay đổi trong tương lai sẽ là rất khó khăn và tốn kém để thực hiện.