SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Lý thuyết
Kiểm Tra Phần Mềm
       Bài 03:       Các kỹ thuật kiểm tra tĩnh

   GV:           Nguyễn Ngọc Tú
   Email:        nntu@hoasen.edu.vn
   Bộ môn:       Kỹ thuật Phần mềm
Nội dung

       Kỹ thuật tĩnh - Rà soát và quá trình kiểm tra
       Quy trình rà soát chương trình
        Các dạng rà soát chương trình
        Các giai đoạn rà soát
        Các vai trò và trách nhiệm
        Nhân tố thành công cho quá trình duyệt xét
       Phân tích tĩnh bằng các công cụ




NNTu                      Software Testing S2008       2
Rà soát và tiến trình kiểm tra

   Khái niệm chính
       Các sản phẩm thực hiện phần mềm và kỹ thuật kiểm tra
       Tầm quan trọng và giá trị
       Sự khác biệt giữa tĩnh và động




NNTu                     Software Testing S2008           3
Kiểm tra tĩnh
       Rà soát và công vụ
         Rà soát theo các khía cạnh không chính thức và chính thức
         Các công cụ có thể thực hiện vài kiểu kiểm tra tĩnh
         Sử dụng cho
             Yêu cầu, thiết kế, thêm mã, giản đồ csdl, tài liệu, các kịch bản, …
       Mô hình và các khuôn mẫu
         Sơ đồ của mô hình phức tạp có thể tiềm ẩn các vấn đề trong thiết kế
             sơ đồ, cách dùng từ, …
          Một sơ đồ “xấu” đồng nghĩa với việc tiềm ẩn nhiều lỗi
       Kịch bản kiểm tra (Test cases) và dữ liệu
          Kiểm tra phân tích và thiết kế trên cơ sở các đặc tả về PTTK
         rà soát có cấu trúc
          Kiểm tra phần này thường phát hiện nhiều “vấn đề”


NNTu                               Software Testing S2008                          4
Các công cụ phân tích tĩnh

   Phân tích tĩnh
       Từ khó hiểu:     kiểm tra vần/ngữ pháp
       Lập trình “nguy hiểm”: J-Test, Safer C, lint…
       Đánh giá:        phân tích độ phức tạp
   Mô phỏng hệ thống
       Bộ giả lập hệ thống tổng quan
       Các công cụ nghiên cứu mô hình/tác vụ thực thi
       Bảng tính




NNTu                       Software Testing S2008       5
Duyệt/Rà soát: Chi phí và lợi ích

   Chi phí
     Thời gian
     Sự nỗ lực thu thập và phân tích các yếu tố (metrics)
     Cải tiến quá trình
   Lợi ích
     Lịch biểu ngắn hơn (do loại bỏ lỗi hiệu quả)
     Chu kỳ kiểm tra ngắn hơn, chi phí kiểm thử thấp hơn
     Gia tăng năng suất
     Cải tiến chất lượng sản phẩm
   Mấu chốt:
     Những kỹ thuật có tính phản hồi cao nhằm cải tiến
     chất lượng
NNTu                   Software Testing S2008               6
Mối liên quan Tĩnh và Động

Giống nhau                            Khác nhau
  Tìm- xác định khiếm                   Mỗi kỹ thuật tìm kiếm
  khuyết                                dạng khiếm khuyết khác
                                        nhau và hiệu quả hơn
   Thực hiện tốt khi các
   phần liên quan phức tạp                 Kỹ thuật tĩnh nhằm tìm
                                           kiếm các thiếu sót hơn là
                                           tìm những hoạt động
   Tiết kiệm thời gian và tiền
                                           không mong đợi
   bạc


NNTu                     Software Testing S2008                        7
Tiến trình Rà soát/Duyệt

   Khái niệm chính
       Giai đoạn, vai trò và trách nhiệm của việc rà soát điển
       hình
       Sự khác biệt giữa các kiểu rà soát
       Các nhân tố cho việc rà soát thành công
       Lỗi thông thường trong yêu cầu và thiết kế




NNTu                      Software Testing S2008                 8
Các kiểu Rà soát

       Không chính thức:
         Không có quy trình thực sự
            Trao đổi ngoài lề, kiểm tra cho bạn, lập trình theo cặp
         Chưa hữu ích, rẻ, phổ biến
       Ngang hàng (đồng nghiệp):
         Quá trình loại bỏ khiếm khuyết đã xác định, lập tài
         liệu
         Bao gồm các đồng nghiệp, chuyên gia kỹ thuật mà
         không có người quản lý



NNTu                          Software Testing S2008                  9
Các kiểu Rà soát

   “Lần bước” (Walkthroughs):
     “lần’ theo tài liệu và mã
   “Thẩm tra” (Inspections):
     Người trung gian/điều phối (đã được đào tạo) đứng
     đầu một nhóm thẩm tra thông qua một quá trình thẩm
     tra chính thức
       Danh mục ý kiểm định (checklists), mục thông tin (entry) , các
       tiêu chuẩn hiện có




NNTu                      Software Testing S2008                    10
Hiểu rõ và nhất trí

   Ý không đầy đủ-mơ hồ che        Long before any code exists, the specification
   dấu ý nghĩa thực sự             must be handed to an outside testing group
                                   to be scrutinized for completeness and
   Cần đồng ý và hiểu nhất         clarity.
   quán về đặc tả
                                   As [V.A.] Vyssotsky [of Bell Lab’s Safeguard
                                   Project] says, the developers themselves
                                   cannot do this: “They won’t tell you they
                                   don’t understand it; they will happily invent
                                   their way through the gaps and obscurities.”
                                             – Fred Brooks
                                               The Mythical Man-Month
                                               1975




NNTu                   Software Testing S2008                                11
Quy trình Rà soát tổng quát

1.     Lập kế hoạch                        Bao gồm: đánh giá, lập kế hoạch,
                                           tham gia huấn luyện, …
2.     Khởi đầu (Kick-off)
3.     Chuẩn bị
                                           Lặp lại mỗi lần Rà soát một phần
4.     Gặp Xét duyệt                       việc
5.     Làm lại/sửa lại
6.     Tiếp tục

Chi tiết phụ thuộc vào kiểu                Bao gồm các hoạt động cá nhân
                                           như toàn bộ việc phân tích cải
rà soát riêng cho từng dự án               tiến quy trình, đánh giá việc loại
                                           bỏ lỗi, …



NNTu                     Software Testing S2008                                 12
Vai trò và Trách nhiệm
   Điều phối (Moderator):
      Chủ trì các cuộc họp
   Thư ký:
      Tập hợp thông tin về tìm kiếm lỗi
   Tác giả:
      Mô tả, giải thích và trả lời các câu hỏi
   Người rà soát (Reviewer/inspector):
      Tìm kiếm lỗi
   Người quản lý:
      Lập kế hoạch, sắp xếp tài nguyên và việc huấn luyện, hỗ trợ,
      phân tích các yếu tố quy trình
   Đôi khi, một người có thể đóng nhiều vai trò
      Tác giả đôi khi đóng vai trò như Trung gian
      Một trong những người rà soát làm thư ký
      Đặc tả được xác định bởi kiểu rà soát

NNTu                        Software Testing S2008                   13
Nhân tố Rà soát thành công

   Cung cấp huấn luyện                      Phải có sự chuẩn bị
   Rà soát cả sản phẩm –                    Lập danh sách “chú ý” kiểm
   không sản phẩm                           tra
   Lập và theo sát lịch/mục                 Duyệt lại các phần Rà soát
   tiêu                                     Đúng kỹ thuật
   Giới hạn tranh cãi                       Bảo đảm hỗ trợ quản lý
   Tập trung tìm kiếm “vấn                  Học – làm tốt hơn
   đề”, không đi vào giải quyết
   Nắm rõ các ghi chú đã viết
   Giới hạn, cẩn thận chọn lựa
   người tham gia


NNTu                      Software Testing S2008                     14
Lỗi thông thường yêu cầu-thiết kế
       Mập mờ:        nghĩa chính xác là gì ?
        VD: Hệ thống nên cho phép đọc email ISP
           ISP là gì ? Kích cỡ email ? Cho phép gửi kèm ?
       Không đầy đủ:          Rồi, Còn gì nữa ?
         VD: trên 3 lần nhập mật khẩu không đúng, hệ thống
         sẽ khóa tài khoản của NSD
           Trong bao lâu ? Muốn mở khóa thì sao ? Ai có quyền mở
           khóa ?
       Không kiểm tra được: Tôi có thể kiểm tra phần này
       ra sao ?
          VD: Hệ thống có khả năng sẵn sàng 100%
           Không biết kỹ thuật kiểm tra để biết hoàn toàn sẵn sàng
       Phụ thuộc quá mức, kết nối và độ phức tạp
         Tìm kiếm các sơ đồ ‘tồi” và gây khó hiểu
NNTu                        Software Testing S2008                   15
IEEE 1028: chuẩn Rà soát

1.     Overview
          Purpose, scope, conformance, organization, application
2.     References
3.     Definitions
4.     Management reviews
          Responsibilities, inputs/outputs, entry/exit criteria, procedures
5.     Technical reviews
          Responsibilities, inputs/outputs, entry/exit criteria, procedures




NNTu                           Software Testing S2008                     16
IEEE 1028: chuẩn Rà soát

6.     Inspections
          Responsibilities, inputs/outputs, entry/exit criteria, procedures,
          data collection, process improvement
7.     Walkthroughs
          Responsibilities, inputs/outputs, entry/exit criteria, procedures,
          data collection, process improvement
8.     Audits
          Responsibilities, inputs/outputs, entry/exit criteria, procedures




NNTu                           Software Testing S2008                     17
Công cụ kiểm tra tĩnh

   Khái niệm chính
       Mục tiêu của phân tích tĩnh – động
       Lợi ích
       Khiếm khuyết và lỗi tiêu biểu bởi phân tích tĩnh




NNTu                      Software Testing S2008          18
Kiểm tra tĩnh – động

   Tìm khiếm khuyết trong mã và mô hình phần mềm
   Phân tích tĩnh thực hiện mà không cần thực thi hệ thống
   thực sự
   Phân tích tĩnh bao gồm việc phân tích hệ thống hay các
   thành phần bằng công cụ
   Phân tích tĩnh có thể tìm kiếm khiếm khuyết khó tìm hay
   khó cô lập
       VD:
          kết quả khả năng bảo trì, sử dụng con trỏ không an toàn
       Dễ ràng cô lập lỗi vì tìm lỗi (bugs) chứ không thông qua “triệu
       chứng”




NNTu                           Software Testing S2008                    19
Cái gì có thể phân tích ?

   Mã chương trình
       Luồng điều khiển – luồng dữ liệu
   Mô hình chương trình
       Mô phỏng
   Phát sinh kết quả dạng HTML & XML
   Tài liệu yêu cầu và thiết kế




NNTu                        Software Testing S2008   20
Lợi ích

   Phát hiện sớm, “rẻ”
   Cảnh báo về nhóm lỗi có thể tồn tại
       nơi gây nguy hiểm, phức tạp cao, …
   Định vị lỗi có thể bị bỏ qua khi kiểm tra động
   Phát hiện sự phụ thuộc thiếu nhất quán
   Nâng cao khả năng bảo trì mã/chương trình
   Ngăn ngừa khiếm khuyết trên cơ sở
       Các yếu tố đã tập hợp
       Các bài học từ việc phân tích



NNTu                         Software Testing S2008   21
Lỗi tiêu biểu phát hiện

   Tham chiếu tới biến chưa gán trị
   Giao tiếp không nhất quán giữa chương trình và module
   Biến chưa bao giờ sử dụng
   Mã “chết”
   Vi phạm chuẩn lập trình
   Yếu điểm bảo mật
   Vi phạm cú pháp mã và mô hình
   v..v



NNTu                   Software Testing S2008              22
Sử dụng Công cụ

   Người sử dụng tiêu biểu…
       Người lập trình
         Kiểm tra thành phần/tích hợp
       Thiết kế và kiến trúc hệ thống
         Thiết kế
   Đưa ra số lượng lớn các thông điệp cảnh báo
   Trình biên dịch có thể thực hiện một số phân tích
   tĩnh
       Công cụ phân tích chuyên biệt hơn




NNTu                       Software Testing S2008      23
Bài tập - đọc hiểu

   Xem xét đoạn thủ tục thực hiện
       chèn một phần tử mới được tham chiếu bởi new_element
       vào danh sách liên kết đã có thứ tự tăng
       current_head Trỏ tới đầu danh sách hiện tại
       Kết quả trả về là đầu danh sách mới
       Cấu trúc lưu chứa thông tin như sau

            typedef             struct _entry {
               int              key; // danh sách sắp tăng dần theo key
               int              data;
               char             name[20];
               struct _entry * next;
            }         entry, * entry_ptr;


NNTu                         Software Testing S2008                       24
Bài tập - đọc hiểu

   Các trường hợp xảy ra
       Xét tiền điều kiện – hậu điều kiện
       Danh sách ban đầu rỗng
       Chèn phần tử mới vào đầu danh sách
       Chèn phần tử mới vào giữa danh sách
       Chèn phần tử mới vào cuối danh sách
       …




NNTu                  Software Testing S2008   25
Bài tập - đọc hiểu
entry * insert_linked_list(                         current_element = current_head;
         entry * current_head,                      while (current_element->next
         entry * new_element) {                                    != NULL) {
                                                      if (new_element->key
    entry * current_element;                              < current_element->next->key) {
    if (current_head == NULL) {                           break;
        new_element->next = NULL;                     }
        return new_element;                           current_element =
    }                                                              current_element->next;
                                                    } // KT while
    if (new_element->key
          < current_head->key) {                    new_element->next
                                                       = current_element->next;
        new_element->next
          = current_head;                           current_element->next
        return new_element;                              = new_element;
                                                    return new_element;
    }                                           }

  NNTu                             Software Testing S2008                            26
Bài tập - đọc hiểu
                                                        Item(s) to be tested
                                        Module:                  insert_linked_list
   Nhóm (3-4) thực hiện                                     Specifications

   công việc                                        Input                Expected
                                                                       Output/Result
       Rà soát hàm                      New Item:                  Return:
                                            4                         4 -> 7 -> NIL
                                        List:
       Sửa lại hàm trên với các             7 -> NIL
       trường hợp sau:                                  Item(s) to be tested
         Danh sách trên có thêm         Module:                  insert_linked_list
         tính chất: tăng nghiêm
                                                            Specifications
         ngặt
                                                    Input                Expected
                                                                       Output/Result
                                        New Item:                  Return:
                                            6                         5 -> 6 -> 9 ->
                                        List:                         NIL
                                            5 -> 9 -> NIL
NNTu                       Software Testing S2008                                      27
Đọc thêm

   [2]. Chapter 17
   [2]. Chapter 18
   [5]. Chapter 04




NNTu                 Software Testing S2008   28
Q/A




NNTu   Software Testing S2008   29

Contenu connexe

Tendances

6 câu hỏi phỏng vấn tester thông dụng năm 2021
6 câu hỏi phỏng vấn tester thông dụng năm 20216 câu hỏi phỏng vấn tester thông dụng năm 2021
6 câu hỏi phỏng vấn tester thông dụng năm 2021MDuyn83
 
2014/07/07 Software Testing - Truong Anh Hoang
2014/07/07 Software Testing - Truong Anh Hoang 2014/07/07 Software Testing - Truong Anh Hoang
2014/07/07 Software Testing - Truong Anh Hoang Vu Hung Nguyen
 
Kiem thu phan mem
Kiem thu phan memKiem thu phan mem
Kiem thu phan memTIen Le
 
Đồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmĐồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmNguyễn Anh
 
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMSldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMNguyễn Anh
 
Slide đồ án kiểm thử PM
Slide đồ án kiểm thử PMSlide đồ án kiểm thử PM
Slide đồ án kiểm thử PMNguyễn Anh
 
Nguyên tắc cơ bản của kiểm thử phần mềm
Nguyên tắc cơ bản của kiểm thử phần mềmNguyên tắc cơ bản của kiểm thử phần mềm
Nguyên tắc cơ bản của kiểm thử phần mềmNgọc Khánh
 
He thong cong cu kiem thu tu dong va dam bao chat luong phan mem
He thong cong cu kiem thu tu dong va dam bao chat luong phan memHe thong cong cu kiem thu tu dong va dam bao chat luong phan mem
He thong cong cu kiem thu tu dong va dam bao chat luong phan memViet Hung Vu
 
Bai10 lap tailieukiemtra-k-trpm@softtesting-nntu
Bai10 lap tailieukiemtra-k-trpm@softtesting-nntuBai10 lap tailieukiemtra-k-trpm@softtesting-nntu
Bai10 lap tailieukiemtra-k-trpm@softtesting-nntuJenny Nguyen
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMNguyễn Anh
 
Tailieu.vncty.com t ke-testcase
Tailieu.vncty.com   t ke-testcaseTailieu.vncty.com   t ke-testcase
Tailieu.vncty.com t ke-testcaseTrần Đức Anh
 

Tendances (16)

6 câu hỏi phỏng vấn tester thông dụng năm 2021
6 câu hỏi phỏng vấn tester thông dụng năm 20216 câu hỏi phỏng vấn tester thông dụng năm 2021
6 câu hỏi phỏng vấn tester thông dụng năm 2021
 
Test plan
Test planTest plan
Test plan
 
2014/07/07 Software Testing - Truong Anh Hoang
2014/07/07 Software Testing - Truong Anh Hoang 2014/07/07 Software Testing - Truong Anh Hoang
2014/07/07 Software Testing - Truong Anh Hoang
 
Kiem thu phan mem
Kiem thu phan memKiem thu phan mem
Kiem thu phan mem
 
Kiem thu
Kiem thuKiem thu
Kiem thu
 
Đồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmĐồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềm
 
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMSldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
 
Cac kythuatktpm
Cac kythuatktpmCac kythuatktpm
Cac kythuatktpm
 
Slide đồ án kiểm thử PM
Slide đồ án kiểm thử PMSlide đồ án kiểm thử PM
Slide đồ án kiểm thử PM
 
chuong 6
chuong 6chuong 6
chuong 6
 
Nguyên tắc cơ bản của kiểm thử phần mềm
Nguyên tắc cơ bản của kiểm thử phần mềmNguyên tắc cơ bản của kiểm thử phần mềm
Nguyên tắc cơ bản của kiểm thử phần mềm
 
He thong cong cu kiem thu tu dong va dam bao chat luong phan mem
He thong cong cu kiem thu tu dong va dam bao chat luong phan memHe thong cong cu kiem thu tu dong va dam bao chat luong phan mem
He thong cong cu kiem thu tu dong va dam bao chat luong phan mem
 
Bai10 lap tailieukiemtra-k-trpm@softtesting-nntu
Bai10 lap tailieukiemtra-k-trpm@softtesting-nntuBai10 lap tailieukiemtra-k-trpm@softtesting-nntu
Bai10 lap tailieukiemtra-k-trpm@softtesting-nntu
 
chuong 5
chuong 5chuong 5
chuong 5
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
 
Tailieu.vncty.com t ke-testcase
Tailieu.vncty.com   t ke-testcaseTailieu.vncty.com   t ke-testcase
Tailieu.vncty.com t ke-testcase
 

Similaire à Bai03 kiem tratinh-k-trpm@softtesting-nntu

Bai11 quan ly-kiemtra-ktrpm@softtesting-nntu
Bai11 quan ly-kiemtra-ktrpm@softtesting-nntuBai11 quan ly-kiemtra-ktrpm@softtesting-nntu
Bai11 quan ly-kiemtra-ktrpm@softtesting-nntuVan Pham
 
Bai12 too ls-kiemtra-ktrpm@softtesting-nntu
Bai12 too ls-kiemtra-ktrpm@softtesting-nntuBai12 too ls-kiemtra-ktrpm@softtesting-nntu
Bai12 too ls-kiemtra-ktrpm@softtesting-nntuVan Pham
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMNguyễn Anh
 
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQA
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQAGiải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQA
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQAPopping Khiem - Funky Dance Crew PTIT
 
Bai07 kiem tramuccao-k-trpm@softtesting-nntu
Bai07 kiem tramuccao-k-trpm@softtesting-nntuBai07 kiem tramuccao-k-trpm@softtesting-nntu
Bai07 kiem tramuccao-k-trpm@softtesting-nntuVan Pham
 
Chuong 1- Quan Ly Du An CNTT
Chuong 1- Quan Ly Du An CNTTChuong 1- Quan Ly Du An CNTT
Chuong 1- Quan Ly Du An CNTTPhuoc Long
 
3-Requirements_VI.pdf
3-Requirements_VI.pdf3-Requirements_VI.pdf
3-Requirements_VI.pdfEllieHuynh3
 
Bai06 kiem tramodule-k-trpm@softtesting-nntu
Bai06 kiem tramodule-k-trpm@softtesting-nntuBai06 kiem tramodule-k-trpm@softtesting-nntu
Bai06 kiem tramodule-k-trpm@softtesting-nntuVan Pham
 
Bai06 kiem tramodule-k-trpm@softtesting-nntu
Bai06 kiem tramodule-k-trpm@softtesting-nntuBai06 kiem tramodule-k-trpm@softtesting-nntu
Bai06 kiem tramodule-k-trpm@softtesting-nntuJenny Nguyen
 
529 04
529   04529   04
529 04segovn
 
Ky nang_kiem_tra
 Ky nang_kiem_tra Ky nang_kiem_tra
Ky nang_kiem_trahuynhloc
 
03. kỹ năng kiểm tra
03. kỹ năng kiểm tra03. kỹ năng kiểm tra
03. kỹ năng kiểm traMai Xuan Tu
 
ggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggHngPhmTh35
 
Bai10 lap tailieukiemtra-k-trpm@softtesting-nntu
Bai10 lap tailieukiemtra-k-trpm@softtesting-nntuBai10 lap tailieukiemtra-k-trpm@softtesting-nntu
Bai10 lap tailieukiemtra-k-trpm@softtesting-nntuVan Pham
 
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế Nguyễn Anh
 
Test Types & Test Levels.pdf
Test Types & Test Levels.pdfTest Types & Test Levels.pdf
Test Types & Test Levels.pdfnhung875961
 
Tìm hiểu các kỹ thuật kiểm thử phần mềm ứng dụng trong lập trình Java.
Tìm hiểu các kỹ thuật kiểm thử phần mềm  ứng dụng trong lập trình Java.Tìm hiểu các kỹ thuật kiểm thử phần mềm  ứng dụng trong lập trình Java.
Tìm hiểu các kỹ thuật kiểm thử phần mềm ứng dụng trong lập trình Java.Nguyễn Anh
 

Similaire à Bai03 kiem tratinh-k-trpm@softtesting-nntu (20)

Bai11 quan ly-kiemtra-ktrpm@softtesting-nntu
Bai11 quan ly-kiemtra-ktrpm@softtesting-nntuBai11 quan ly-kiemtra-ktrpm@softtesting-nntu
Bai11 quan ly-kiemtra-ktrpm@softtesting-nntu
 
Bai12 too ls-kiemtra-ktrpm@softtesting-nntu
Bai12 too ls-kiemtra-ktrpm@softtesting-nntuBai12 too ls-kiemtra-ktrpm@softtesting-nntu
Bai12 too ls-kiemtra-ktrpm@softtesting-nntu
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
 
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQA
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQAGiải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQA
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQA
 
Bai07 kiem tramuccao-k-trpm@softtesting-nntu
Bai07 kiem tramuccao-k-trpm@softtesting-nntuBai07 kiem tramuccao-k-trpm@softtesting-nntu
Bai07 kiem tramuccao-k-trpm@softtesting-nntu
 
Chuong 1- Quan Ly Du An CNTT
Chuong 1- Quan Ly Du An CNTTChuong 1- Quan Ly Du An CNTT
Chuong 1- Quan Ly Du An CNTT
 
3-Requirements_VI.pdf
3-Requirements_VI.pdf3-Requirements_VI.pdf
3-Requirements_VI.pdf
 
Bai06 kiem tramodule-k-trpm@softtesting-nntu
Bai06 kiem tramodule-k-trpm@softtesting-nntuBai06 kiem tramodule-k-trpm@softtesting-nntu
Bai06 kiem tramodule-k-trpm@softtesting-nntu
 
Bai06 kiem tramodule-k-trpm@softtesting-nntu
Bai06 kiem tramodule-k-trpm@softtesting-nntuBai06 kiem tramodule-k-trpm@softtesting-nntu
Bai06 kiem tramodule-k-trpm@softtesting-nntu
 
04 Ky Nang Kiem Tra3473 2
04 Ky Nang Kiem Tra3473 204 Ky Nang Kiem Tra3473 2
04 Ky Nang Kiem Tra3473 2
 
529 04
529   04529   04
529 04
 
Ky nang_kiem_tra
 Ky nang_kiem_tra Ky nang_kiem_tra
Ky nang_kiem_tra
 
03. kỹ năng kiểm tra
03. kỹ năng kiểm tra03. kỹ năng kiểm tra
03. kỹ năng kiểm tra
 
04. Ky Nang Kiem Tra
04. Ky Nang Kiem Tra04. Ky Nang Kiem Tra
04. Ky Nang Kiem Tra
 
ggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggggg
 
Bai10 lap tailieukiemtra-k-trpm@softtesting-nntu
Bai10 lap tailieukiemtra-k-trpm@softtesting-nntuBai10 lap tailieukiemtra-k-trpm@softtesting-nntu
Bai10 lap tailieukiemtra-k-trpm@softtesting-nntu
 
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
 
Test Types & Test Levels.pdf
Test Types & Test Levels.pdfTest Types & Test Levels.pdf
Test Types & Test Levels.pdf
 
Chương 1.pdf
Chương 1.pdfChương 1.pdf
Chương 1.pdf
 
Tìm hiểu các kỹ thuật kiểm thử phần mềm ứng dụng trong lập trình Java.
Tìm hiểu các kỹ thuật kiểm thử phần mềm  ứng dụng trong lập trình Java.Tìm hiểu các kỹ thuật kiểm thử phần mềm  ứng dụng trong lập trình Java.
Tìm hiểu các kỹ thuật kiểm thử phần mềm ứng dụng trong lập trình Java.
 

Plus de Van Pham

Thi cong da hoa cuong o tphcm thien loc phat
Thi cong da hoa cuong o tphcm thien loc phatThi cong da hoa cuong o tphcm thien loc phat
Thi cong da hoa cuong o tphcm thien loc phatVan Pham
 
Cửa hàng bán đồ chơi xe máy ở TPHCM - Hoàng Phúc Decal
Cửa hàng bán đồ chơi xe máy ở TPHCM - Hoàng Phúc DecalCửa hàng bán đồ chơi xe máy ở TPHCM - Hoàng Phúc Decal
Cửa hàng bán đồ chơi xe máy ở TPHCM - Hoàng Phúc DecalVan Pham
 
Giao trinh co so du lieu can ban
Giao trinh co so du lieu can banGiao trinh co so du lieu can ban
Giao trinh co so du lieu can banVan Pham
 
Lect15 cloud
Lect15 cloudLect15 cloud
Lect15 cloudVan Pham
 
172506 633746925739945000
172506 633746925739945000172506 633746925739945000
172506 633746925739945000Van Pham
 
Bao cao thuc tap - Điện toán đám mây
Bao cao thuc tap - Điện toán đám mâyBao cao thuc tap - Điện toán đám mây
Bao cao thuc tap - Điện toán đám mâyVan Pham
 
Bai 02 active directory
Bai 02   active directoryBai 02   active directory
Bai 02 active directoryVan Pham
 
Gioi thieu va cac lenh tren console
Gioi thieu va cac lenh tren consoleGioi thieu va cac lenh tren console
Gioi thieu va cac lenh tren consoleVan Pham
 
Bai 08 quan ly in an
Bai 08   quan ly in anBai 08   quan ly in an
Bai 08 quan ly in anVan Pham
 
Bai 07 tao quan ly thu muc
Bai 07   tao quan ly thu mucBai 07   tao quan ly thu muc
Bai 07 tao quan ly thu mucVan Pham
 
Bai 06 quan ly dia
Bai 06   quan ly diaBai 06   quan ly dia
Bai 06 quan ly diaVan Pham
 
Bai 05 chinh sach nhom
Bai 05   chinh sach nhomBai 05   chinh sach nhom
Bai 05 chinh sach nhomVan Pham
 
Bai 04 chinh sach he thong
Bai 04   chinh sach he thongBai 04   chinh sach he thong
Bai 04 chinh sach he thongVan Pham
 
Bai 03 quan ly tai khoan nguoi dung
Bai 03   quan ly tai khoan nguoi dungBai 03   quan ly tai khoan nguoi dung
Bai 03 quan ly tai khoan nguoi dungVan Pham
 
Bai 01 gioi thieu cai dat
Bai 01   gioi thieu cai datBai 01   gioi thieu cai dat
Bai 01 gioi thieu cai datVan Pham
 
Bai09 kiem traextreme-k-trpm@softtesting-nntu
Bai09 kiem traextreme-k-trpm@softtesting-nntuBai09 kiem traextreme-k-trpm@softtesting-nntu
Bai09 kiem traextreme-k-trpm@softtesting-nntuVan Pham
 
Bai08 ky thuatdebug-k-trpm@softtesting-nntu
Bai08 ky thuatdebug-k-trpm@softtesting-nntuBai08 ky thuatdebug-k-trpm@softtesting-nntu
Bai08 ky thuatdebug-k-trpm@softtesting-nntuVan Pham
 

Plus de Van Pham (20)

Thi cong da hoa cuong o tphcm thien loc phat
Thi cong da hoa cuong o tphcm thien loc phatThi cong da hoa cuong o tphcm thien loc phat
Thi cong da hoa cuong o tphcm thien loc phat
 
Cửa hàng bán đồ chơi xe máy ở TPHCM - Hoàng Phúc Decal
Cửa hàng bán đồ chơi xe máy ở TPHCM - Hoàng Phúc DecalCửa hàng bán đồ chơi xe máy ở TPHCM - Hoàng Phúc Decal
Cửa hàng bán đồ chơi xe máy ở TPHCM - Hoàng Phúc Decal
 
Giao trinh co so du lieu can ban
Giao trinh co so du lieu can banGiao trinh co so du lieu can ban
Giao trinh co so du lieu can ban
 
Avl tree
Avl treeAvl tree
Avl tree
 
Quy tắc
Quy tắcQuy tắc
Quy tắc
 
Lect15 cloud
Lect15 cloudLect15 cloud
Lect15 cloud
 
Session1
Session1Session1
Session1
 
172506 633746925739945000
172506 633746925739945000172506 633746925739945000
172506 633746925739945000
 
Bao cao thuc tap - Điện toán đám mây
Bao cao thuc tap - Điện toán đám mâyBao cao thuc tap - Điện toán đám mây
Bao cao thuc tap - Điện toán đám mây
 
Bai 02 active directory
Bai 02   active directoryBai 02   active directory
Bai 02 active directory
 
Gioi thieu va cac lenh tren console
Gioi thieu va cac lenh tren consoleGioi thieu va cac lenh tren console
Gioi thieu va cac lenh tren console
 
Bai 08 quan ly in an
Bai 08   quan ly in anBai 08   quan ly in an
Bai 08 quan ly in an
 
Bai 07 tao quan ly thu muc
Bai 07   tao quan ly thu mucBai 07   tao quan ly thu muc
Bai 07 tao quan ly thu muc
 
Bai 06 quan ly dia
Bai 06   quan ly diaBai 06   quan ly dia
Bai 06 quan ly dia
 
Bai 05 chinh sach nhom
Bai 05   chinh sach nhomBai 05   chinh sach nhom
Bai 05 chinh sach nhom
 
Bai 04 chinh sach he thong
Bai 04   chinh sach he thongBai 04   chinh sach he thong
Bai 04 chinh sach he thong
 
Bai 03 quan ly tai khoan nguoi dung
Bai 03   quan ly tai khoan nguoi dungBai 03   quan ly tai khoan nguoi dung
Bai 03 quan ly tai khoan nguoi dung
 
Bai 01 gioi thieu cai dat
Bai 01   gioi thieu cai datBai 01   gioi thieu cai dat
Bai 01 gioi thieu cai dat
 
Bai09 kiem traextreme-k-trpm@softtesting-nntu
Bai09 kiem traextreme-k-trpm@softtesting-nntuBai09 kiem traextreme-k-trpm@softtesting-nntu
Bai09 kiem traextreme-k-trpm@softtesting-nntu
 
Bai08 ky thuatdebug-k-trpm@softtesting-nntu
Bai08 ky thuatdebug-k-trpm@softtesting-nntuBai08 ky thuatdebug-k-trpm@softtesting-nntu
Bai08 ky thuatdebug-k-trpm@softtesting-nntu
 

Bai03 kiem tratinh-k-trpm@softtesting-nntu

  • 1. Lý thuyết Kiểm Tra Phần Mềm Bài 03: Các kỹ thuật kiểm tra tĩnh GV: Nguyễn Ngọc Tú Email: nntu@hoasen.edu.vn Bộ môn: Kỹ thuật Phần mềm
  • 2. Nội dung Kỹ thuật tĩnh - Rà soát và quá trình kiểm tra Quy trình rà soát chương trình Các dạng rà soát chương trình Các giai đoạn rà soát Các vai trò và trách nhiệm Nhân tố thành công cho quá trình duyệt xét Phân tích tĩnh bằng các công cụ NNTu Software Testing S2008 2
  • 3. Rà soát và tiến trình kiểm tra Khái niệm chính Các sản phẩm thực hiện phần mềm và kỹ thuật kiểm tra Tầm quan trọng và giá trị Sự khác biệt giữa tĩnh và động NNTu Software Testing S2008 3
  • 4. Kiểm tra tĩnh Rà soát và công vụ Rà soát theo các khía cạnh không chính thức và chính thức Các công cụ có thể thực hiện vài kiểu kiểm tra tĩnh Sử dụng cho Yêu cầu, thiết kế, thêm mã, giản đồ csdl, tài liệu, các kịch bản, … Mô hình và các khuôn mẫu Sơ đồ của mô hình phức tạp có thể tiềm ẩn các vấn đề trong thiết kế sơ đồ, cách dùng từ, … Một sơ đồ “xấu” đồng nghĩa với việc tiềm ẩn nhiều lỗi Kịch bản kiểm tra (Test cases) và dữ liệu Kiểm tra phân tích và thiết kế trên cơ sở các đặc tả về PTTK rà soát có cấu trúc Kiểm tra phần này thường phát hiện nhiều “vấn đề” NNTu Software Testing S2008 4
  • 5. Các công cụ phân tích tĩnh Phân tích tĩnh Từ khó hiểu: kiểm tra vần/ngữ pháp Lập trình “nguy hiểm”: J-Test, Safer C, lint… Đánh giá: phân tích độ phức tạp Mô phỏng hệ thống Bộ giả lập hệ thống tổng quan Các công cụ nghiên cứu mô hình/tác vụ thực thi Bảng tính NNTu Software Testing S2008 5
  • 6. Duyệt/Rà soát: Chi phí và lợi ích Chi phí Thời gian Sự nỗ lực thu thập và phân tích các yếu tố (metrics) Cải tiến quá trình Lợi ích Lịch biểu ngắn hơn (do loại bỏ lỗi hiệu quả) Chu kỳ kiểm tra ngắn hơn, chi phí kiểm thử thấp hơn Gia tăng năng suất Cải tiến chất lượng sản phẩm Mấu chốt: Những kỹ thuật có tính phản hồi cao nhằm cải tiến chất lượng NNTu Software Testing S2008 6
  • 7. Mối liên quan Tĩnh và Động Giống nhau Khác nhau Tìm- xác định khiếm Mỗi kỹ thuật tìm kiếm khuyết dạng khiếm khuyết khác nhau và hiệu quả hơn Thực hiện tốt khi các phần liên quan phức tạp Kỹ thuật tĩnh nhằm tìm kiếm các thiếu sót hơn là tìm những hoạt động Tiết kiệm thời gian và tiền không mong đợi bạc NNTu Software Testing S2008 7
  • 8. Tiến trình Rà soát/Duyệt Khái niệm chính Giai đoạn, vai trò và trách nhiệm của việc rà soát điển hình Sự khác biệt giữa các kiểu rà soát Các nhân tố cho việc rà soát thành công Lỗi thông thường trong yêu cầu và thiết kế NNTu Software Testing S2008 8
  • 9. Các kiểu Rà soát Không chính thức: Không có quy trình thực sự Trao đổi ngoài lề, kiểm tra cho bạn, lập trình theo cặp Chưa hữu ích, rẻ, phổ biến Ngang hàng (đồng nghiệp): Quá trình loại bỏ khiếm khuyết đã xác định, lập tài liệu Bao gồm các đồng nghiệp, chuyên gia kỹ thuật mà không có người quản lý NNTu Software Testing S2008 9
  • 10. Các kiểu Rà soát “Lần bước” (Walkthroughs): “lần’ theo tài liệu và mã “Thẩm tra” (Inspections): Người trung gian/điều phối (đã được đào tạo) đứng đầu một nhóm thẩm tra thông qua một quá trình thẩm tra chính thức Danh mục ý kiểm định (checklists), mục thông tin (entry) , các tiêu chuẩn hiện có NNTu Software Testing S2008 10
  • 11. Hiểu rõ và nhất trí Ý không đầy đủ-mơ hồ che Long before any code exists, the specification dấu ý nghĩa thực sự must be handed to an outside testing group to be scrutinized for completeness and Cần đồng ý và hiểu nhất clarity. quán về đặc tả As [V.A.] Vyssotsky [of Bell Lab’s Safeguard Project] says, the developers themselves cannot do this: “They won’t tell you they don’t understand it; they will happily invent their way through the gaps and obscurities.” – Fred Brooks The Mythical Man-Month 1975 NNTu Software Testing S2008 11
  • 12. Quy trình Rà soát tổng quát 1. Lập kế hoạch Bao gồm: đánh giá, lập kế hoạch, tham gia huấn luyện, … 2. Khởi đầu (Kick-off) 3. Chuẩn bị Lặp lại mỗi lần Rà soát một phần 4. Gặp Xét duyệt việc 5. Làm lại/sửa lại 6. Tiếp tục Chi tiết phụ thuộc vào kiểu Bao gồm các hoạt động cá nhân như toàn bộ việc phân tích cải rà soát riêng cho từng dự án tiến quy trình, đánh giá việc loại bỏ lỗi, … NNTu Software Testing S2008 12
  • 13. Vai trò và Trách nhiệm Điều phối (Moderator): Chủ trì các cuộc họp Thư ký: Tập hợp thông tin về tìm kiếm lỗi Tác giả: Mô tả, giải thích và trả lời các câu hỏi Người rà soát (Reviewer/inspector): Tìm kiếm lỗi Người quản lý: Lập kế hoạch, sắp xếp tài nguyên và việc huấn luyện, hỗ trợ, phân tích các yếu tố quy trình Đôi khi, một người có thể đóng nhiều vai trò Tác giả đôi khi đóng vai trò như Trung gian Một trong những người rà soát làm thư ký Đặc tả được xác định bởi kiểu rà soát NNTu Software Testing S2008 13
  • 14. Nhân tố Rà soát thành công Cung cấp huấn luyện Phải có sự chuẩn bị Rà soát cả sản phẩm – Lập danh sách “chú ý” kiểm không sản phẩm tra Lập và theo sát lịch/mục Duyệt lại các phần Rà soát tiêu Đúng kỹ thuật Giới hạn tranh cãi Bảo đảm hỗ trợ quản lý Tập trung tìm kiếm “vấn Học – làm tốt hơn đề”, không đi vào giải quyết Nắm rõ các ghi chú đã viết Giới hạn, cẩn thận chọn lựa người tham gia NNTu Software Testing S2008 14
  • 15. Lỗi thông thường yêu cầu-thiết kế Mập mờ: nghĩa chính xác là gì ? VD: Hệ thống nên cho phép đọc email ISP ISP là gì ? Kích cỡ email ? Cho phép gửi kèm ? Không đầy đủ: Rồi, Còn gì nữa ? VD: trên 3 lần nhập mật khẩu không đúng, hệ thống sẽ khóa tài khoản của NSD Trong bao lâu ? Muốn mở khóa thì sao ? Ai có quyền mở khóa ? Không kiểm tra được: Tôi có thể kiểm tra phần này ra sao ? VD: Hệ thống có khả năng sẵn sàng 100% Không biết kỹ thuật kiểm tra để biết hoàn toàn sẵn sàng Phụ thuộc quá mức, kết nối và độ phức tạp Tìm kiếm các sơ đồ ‘tồi” và gây khó hiểu NNTu Software Testing S2008 15
  • 16. IEEE 1028: chuẩn Rà soát 1. Overview Purpose, scope, conformance, organization, application 2. References 3. Definitions 4. Management reviews Responsibilities, inputs/outputs, entry/exit criteria, procedures 5. Technical reviews Responsibilities, inputs/outputs, entry/exit criteria, procedures NNTu Software Testing S2008 16
  • 17. IEEE 1028: chuẩn Rà soát 6. Inspections Responsibilities, inputs/outputs, entry/exit criteria, procedures, data collection, process improvement 7. Walkthroughs Responsibilities, inputs/outputs, entry/exit criteria, procedures, data collection, process improvement 8. Audits Responsibilities, inputs/outputs, entry/exit criteria, procedures NNTu Software Testing S2008 17
  • 18. Công cụ kiểm tra tĩnh Khái niệm chính Mục tiêu của phân tích tĩnh – động Lợi ích Khiếm khuyết và lỗi tiêu biểu bởi phân tích tĩnh NNTu Software Testing S2008 18
  • 19. Kiểm tra tĩnh – động Tìm khiếm khuyết trong mã và mô hình phần mềm Phân tích tĩnh thực hiện mà không cần thực thi hệ thống thực sự Phân tích tĩnh bao gồm việc phân tích hệ thống hay các thành phần bằng công cụ Phân tích tĩnh có thể tìm kiếm khiếm khuyết khó tìm hay khó cô lập VD: kết quả khả năng bảo trì, sử dụng con trỏ không an toàn Dễ ràng cô lập lỗi vì tìm lỗi (bugs) chứ không thông qua “triệu chứng” NNTu Software Testing S2008 19
  • 20. Cái gì có thể phân tích ? Mã chương trình Luồng điều khiển – luồng dữ liệu Mô hình chương trình Mô phỏng Phát sinh kết quả dạng HTML & XML Tài liệu yêu cầu và thiết kế NNTu Software Testing S2008 20
  • 21. Lợi ích Phát hiện sớm, “rẻ” Cảnh báo về nhóm lỗi có thể tồn tại nơi gây nguy hiểm, phức tạp cao, … Định vị lỗi có thể bị bỏ qua khi kiểm tra động Phát hiện sự phụ thuộc thiếu nhất quán Nâng cao khả năng bảo trì mã/chương trình Ngăn ngừa khiếm khuyết trên cơ sở Các yếu tố đã tập hợp Các bài học từ việc phân tích NNTu Software Testing S2008 21
  • 22. Lỗi tiêu biểu phát hiện Tham chiếu tới biến chưa gán trị Giao tiếp không nhất quán giữa chương trình và module Biến chưa bao giờ sử dụng Mã “chết” Vi phạm chuẩn lập trình Yếu điểm bảo mật Vi phạm cú pháp mã và mô hình v..v NNTu Software Testing S2008 22
  • 23. Sử dụng Công cụ Người sử dụng tiêu biểu… Người lập trình Kiểm tra thành phần/tích hợp Thiết kế và kiến trúc hệ thống Thiết kế Đưa ra số lượng lớn các thông điệp cảnh báo Trình biên dịch có thể thực hiện một số phân tích tĩnh Công cụ phân tích chuyên biệt hơn NNTu Software Testing S2008 23
  • 24. Bài tập - đọc hiểu Xem xét đoạn thủ tục thực hiện chèn một phần tử mới được tham chiếu bởi new_element vào danh sách liên kết đã có thứ tự tăng current_head Trỏ tới đầu danh sách hiện tại Kết quả trả về là đầu danh sách mới Cấu trúc lưu chứa thông tin như sau typedef struct _entry { int key; // danh sách sắp tăng dần theo key int data; char name[20]; struct _entry * next; } entry, * entry_ptr; NNTu Software Testing S2008 24
  • 25. Bài tập - đọc hiểu Các trường hợp xảy ra Xét tiền điều kiện – hậu điều kiện Danh sách ban đầu rỗng Chèn phần tử mới vào đầu danh sách Chèn phần tử mới vào giữa danh sách Chèn phần tử mới vào cuối danh sách … NNTu Software Testing S2008 25
  • 26. Bài tập - đọc hiểu entry * insert_linked_list( current_element = current_head; entry * current_head, while (current_element->next entry * new_element) { != NULL) { if (new_element->key entry * current_element; < current_element->next->key) { if (current_head == NULL) { break; new_element->next = NULL; } return new_element; current_element = } current_element->next; } // KT while if (new_element->key < current_head->key) { new_element->next = current_element->next; new_element->next = current_head; current_element->next return new_element; = new_element; return new_element; } } NNTu Software Testing S2008 26
  • 27. Bài tập - đọc hiểu Item(s) to be tested Module: insert_linked_list Nhóm (3-4) thực hiện Specifications công việc Input Expected Output/Result Rà soát hàm New Item: Return: 4 4 -> 7 -> NIL List: Sửa lại hàm trên với các 7 -> NIL trường hợp sau: Item(s) to be tested Danh sách trên có thêm Module: insert_linked_list tính chất: tăng nghiêm Specifications ngặt Input Expected Output/Result New Item: Return: 6 5 -> 6 -> 9 -> List: NIL 5 -> 9 -> NIL NNTu Software Testing S2008 27
  • 28. Đọc thêm [2]. Chapter 17 [2]. Chapter 18 [5]. Chapter 04 NNTu Software Testing S2008 28
  • 29. Q/A NNTu Software Testing S2008 29