Bài giảng Nhập môn công nghệ phần mềm - Chương 7 - Đỗ Thị Thanh Tuyền

pdf 20 trang ngocly 3200
Bạn đang xem tài liệu "Bài giảng Nhập môn công nghệ phần mềm - Chương 7 - Đỗ Thị Thanh Tuyền", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_nhap_mon_cong_nghe_phan_mem_chuong_7_do_thi_thanh.pdf

Nội dung text: Bài giảng Nhập môn công nghệ phần mềm - Chương 7 - Đỗ Thị Thanh Tuyền

  1. NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Giảng viên: Đỗ Thị Thanh Tuyền Email: dothithanhtuyen@gmail.com
  2. Nội dung môn học n Tổng quan về Công nghệ phần mềm n Xác định và mô hình hóa yêu cầu phần mềm n Thiết kế phần mềm n Cài đặt phần mềm n Kiểm thử và bảo trì n Đồ án môn học Nhập môn Công nghệ Phần mềm 2 January 15
  3. Các khái niệm n Kiểm thử phần mềm: kiểm tra tính chính xác, an toàn, bảo mật và riêng tư của phần mềm bằng cách chạy thử để so sánh kết quả thực tế với lý thuyết nhằm mục đích phát hiện lỗi (nếu có). Kiểm thử chiếm 30% -> 40% chi phí phát triển. n Bảo trì phần mềm: là việc sửa đổi một phần mềm sau khi đã bàn giao để khắc phục các lỗi phát sinh, nâng cấp tính năng sử dụng, cải thiện hiệu năng của phần mềm hoặc làm cho phần mềm có thể thích ứng trong một môi trường đã bị thay đổi. Nhập môn Công nghệ Phần mềm 3 January 15
  4. Kiểm thử phần mềm n Tính chính xác của hệ thống thể hiện ở chỗ hệ thống làm việc luôn luôn đúng đắn và dữ liệu dùng trong hệ thống là xác thực và phi mâu thuẫn. n Tính an toàn của hệ thống thể hiện ở chỗ hệ thống không bị xâm hại hay bị xâm hại không nhiều khi xảy ra sự cố kỹ thuật. n Tính bảo mật của hệ thống thể hiện ở chỗ hệ thống có khả năng ngăn ngừa các xâm phạm vô tình hay cố ý từ phía con người. n Tính riêng tư của hệ thống thể hiện ở chỗ hệ thống bảo đảm được các quyền truy nhập riêng tư đối với các loại người dùng khác nhau. Nhập môn Công nghệ Phần mềm 4 January 15
  5. Các nguyên tắc đảm bảo n Tính chính xác: kiểm tra các thông tin nhập và xuất. Áp dụng các hình thức kiểm tra như tự động/bằng tay, đầy đủ/chọn đặc trưng, trực tiếp/gián tiếp. n Tính an toàn: đảm bảo sự an toàn của thông tin là quan trọng nhất, sử dụng các cách sau: Ø Khóa từng phần cơ sở dữ liệu: khóa bản gốc và tiến hành việc cập nhật trên bản sao, việc thay thế dữ liệu mới chỉ được thực hiện khi thao tác cập nhật trên bản sao được thực hiện hoàn tất. Ø Sử dụng các tệp sao lục: + Tệp nhật ký: là một tệp tuần tự chứa các bản sao của các đơn vị cơ sở dữ liệu trước và sau khi chúng được cập nhật. + Tệp lưu: chứa bản sao toàn bộ hoặc một phần của cơ sở dữ liệu được thực hiện theo chu kỳ. Nhập môn Công nghệ Phần mềm 5 January 15
  6. Các nguyên tắc đảm bảo (tt) Ø Thực hiện các thủ tục phục hồi: thủ tục phục hồi là thủ tục nhằm đưa cơ sở dữ liệu trở về trạng thái đúng đắn trước khi bị hỏng vì sự gián đoạn chương trình (hư hỏng phần cứng, chương trình bị treo ). Cân nhắc giữa việc chạy lại từ đầu và chạy từ chỗ bị ngắt. n Tính bảo mật: nhận diện các điểm hở và dự đoán các mối đe dọa tiềm ẩn từ các điểm hở này. Các điểm hở là chỗ mà tác nhân bên ngoài vô tình hay cố ý có thể gây ra tác động tiêu cực cho hệ thống. Các điểm hở có thể là: + Thủ tục vào/ra; + Kho dữ liệu; + Đường truyền; Nhập môn Công nghệ Phần mềm 6 January 15
  7. Các nguyên tắc đảm bảo (tt) Các biện pháp bảo mật: + Bảo mật vật lý; + Tài khoản người dùng; + Mã hóa; + Truy nhập gián tiếp; + Tường lửa. n Tính riêng tư: phân loại người dùng để: + Gán cho mỗi loại người dùng một số quyền truy nhập nhất định. Các quyền truy nhập: read, insert, update, delete, expand, drop, index, run. + Cho phép một số người dùng được phép ủy quyền (giao quyền truy nhập cho người khác). Nhập môn Công nghệ Phần mềm 7 January 15
  8. Bộ kiểm thử n Bộ kiểm thử là dữ liệu dùng để kiểm tra. n Một bộ kiểm thử tốt là bộ có khả năng bao phủ được các trường hợp có thể xảy ra lỗi. n Nội dung của bộ kiểm thử bao gồm: Ø Tên module/chức năng muốn kiểm thử Ø Thông tin đầu vào: môi trường kiểm thử, dữ liệu dùng để kiểm tra, thứ tự thao tác. Ø Kết quả mong muốn Ø Kết quả thực tế Nhập môn Công nghệ Phần mềm 8 January 15
  9. Yêu cầu đối với kiểm thử n Phải đảm bảo đã kiểm tra hết các trường hợp. n Phải lập tài liệu cho quá trình kiểm thử. n Phải tiến hành kiểm tra lại để đảm bảo rằng các lỗi đã được sửa chữa. Nhập môn Công nghệ Phần mềm 9 January 15
  10. Tiến trình kiểm thử Kiểm tra các thành phần phần Kiểm thử đơn vị mềm riêng lẻ. Tích hợp các thành phần riêng Kiểm thử tích hợp lẻ đã được kiểm tra và tiến hành kiểm tra các nhóm này. Kiểm thử hệ thống Kiểm tra toàn bộ hệ thống như một khối tổng thể. Kiểm thử chấp nhận Nhập môn Công nghệ Phần mềm 10 January 15
  11. Tiến trình kiểm thử (tt) n Kiểm thử đơn vị (unit testing) -> Unit test case n Kiểm thử tích hợp (integration testing) -> Dancing testing n Kiểm thử hệ thống (system testing) -> Functional/Non-functional testing Ø Kiểm thử phục hồi (recovery testing) Ø Kiểm thử áp lực (stress testing) Ø Kiểm thử thi hành (performance testing) Ø Kiểm thử an ninh (security testing) n Kiểm thử chấp nhận (acceptance testing): Ø Kiểm thử Alpha Ø Kiểm thử Beta Nhập môn Công nghệ Phần mềm 11 January 15
  12. Kiểm thử Alpha n Là một hình thức kiểm nhận nội bộ. n Được thực hiện bởi người dùng/khách hàng tiềm năng và người phát triển/nhóm kiểm thử độc lập. Nhập môn Công nghệ Phần mềm 12 January 15
  13. Kiểm thử Beta n Là một hình thức kiểm nhận bên ngoài. n Chỉ được thực hiện bởi người dùng/khách hàng tiềm năng, không liên quan đến các nhà phát triển. n Kiểm tra phiên bản loại 2 nhằm lấy phản hồi từ thị trường. Nhập môn Công nghệ Phần mềm 13 January 15
  14. Các phương pháp và chiến lược n Hai phương pháp phổ biến: Ø Kiểm thử hộp đen Ø Kiểm thử hộp trắng n Các chiến lược kiểm thử: Ø Kiểm thử từ trên xuống/dưới lên Ø Kiểm thử big bang Ø Kiểm thử hồi quy Ø Kiểm thử hệ thời gian thực (RTS) Nhập môn Công nghệ Phần mềm 14 January 15
  15. Kiểm thử hộp đen n Dùng để kiểm tra các yêu cầu chức năng của phần mềm. n Không tham khảo cấu trúc bên trong của thành phần hoặc hệ thống. n Chia không gian thử nghiệm dựa vào giá trị nhập/xuất của đơn vị cần kiểm tra: chọn bộ thử nghiệm đặc trưng cho từng vùng dữ liệu và các bộ thử nghiệm này nên chứa các giá trị biên của vùng dữ liệu đó. n Sử dụng kỹ thuật Phân hoạch tương đương và Đồ thị nhân quả. Nhập môn Công nghệ Phần mềm 15 January 15
  16. Kiểm thử hộp trắng n Kiểm tra dựa trên sự phân tích cấu trúc bên trong của thành phần hoặc hệ thống. n Chia không gian thử nghiệm dựa vào cấu trúc của đơn vị cần kiểm tra: Ø Kiểm tra giao tiếp của đơn vị để đảm bảo dòng thông tin vào ra đơn vị luôn đúng. Ø Kiểm tra dữ liệu cục bộ để đảm bảo dữ liệu được lưu trữ trong đơn vị toàn vẹn trong suốt quá trình thuật giải được thực hiện. Nhập môn Công nghệ Phần mềm 16 January 15
  17. Kiểm thử hộp trắng (tt) Ø Kiểm tra các điều kiện biên của các câu lệnh điều khiển, vòng lặp để đảm bảo đơn vị luôn chạy đúng tại các biên này. Ø Kiểm tra để đảm bảo mọi con đường thực hiện phải được đi qua ít nhất một lần. Ø Kiểm tra sự thực thi của đơn vị trong các trường hợp ngoại lệ. n Sử dụng kỹ thuật Đồ thị dòng. Nhập môn Công nghệ Phần mềm 17 January 15
  18. Công cụ kiểm thử tự động n Kiểm thử tự động dữ liệu: Ø Bộ sinh dữ liệu thử Ø Bộ xác minh kết quả n Kiểm thử tự động cài đặt: Ø Bộ kiểm toán mã Ø Mô phỏng ứng xử của các module phụ Ø Bộ so sánh đầu ra n Mô phỏng môi trường (ngoại lai). n Bộ phân tích dòng dữ liệu (qui mô và tần suất ddl). Nhập môn Công nghệ Phần mềm 18 January 15
  19. Bảo trì phần mềm Bảo trì phần mềm được chia thành 4 loại: n Sửa lại cho đúng (corrective): là việc sửa các lỗi phát sinh trong quá trình sử dụng. n Thích ứng (adaptative): là việc chỉnh sửa hệ thống cho phù hợp với môi trường đã thay đổi. n Hoàn thiện: là việc chỉnh sửa để đáp ứng các yêu cầu mới hoặc các yêu cầu đã thay đổi của người sử dụng. n Bảo vệ (preventive): làm cho hệ thống dễ dàng bảo trì hơn trong những lần tiếp theo. Nhập môn Công nghệ Phần mềm 19 January 15
  20. Q & A Nhập môn Công nghệ Phần mềm 20 January 15