Xu Hướng 7/2022 # Kỹ Thuật Để Testcase Không Bị Bỏ Sót. # Top View

Xem 5,247

Bạn đang xem bài viết Kỹ Thuật Để Testcase Không Bị Bỏ Sót. được cập nhật mới nhất ngày 02/07/2022 trên website Ezlearning.edu.vn. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Cho đến thời điểm hiện tại, bài viết này đã đạt được 5,247 lượt xem.

--- Bài mới hơn ---

  • Tạo Ứng Dụng Di Động Chỉ Trong “1 Nốt Nhạc” Với
  • Tổng Quan Về Lập Trình Ứng Dụng Di Động
  • Kí Tự Đặc Biệt Trái Táo, Quả Táo Cắn Dở Của Apple
  • Mẹo Đơn Giản Để Gõ Biểu Tượng Apple Tất Cả Các Thiết Bị
  • Cách Sử Dụng Scribble Để Viết Tin Nhắn Trên Apple Watch Của Bạn / Làm Thế Nào Để
  • Mở đầu

    Bug là một thuật ngữ mà khi nhắc đến thì mỗi lập trình viên đều muốn tránh xa. Nên người ta đã đưa ra các rất nhiều phương pháp để hạn chế nó. Trong đó, có cả các kỹ thuật kiểm thử phần mềm (testing) được rất nhiều người áp dụng.

    Kỹ thuật kiểm thử phần mềm được phân ra làm 2 loại chính:

    Theo Wikipedia – Black-box testing

    “Black-box testing is a method of software testing that examines the functionality of an application without peering into its internal structures or workings”

    Được tạm dịch là:

    “Kiểm thử hộp đen là một phương pháp kiểm thử chức năng mà không cần bất kỳ kiến thức về cấu trúc và hành vi bên trong phần mềm.”

    Theo Wikipedia – White-box testing

    “White-box testing is a method of testing software that tests internal structures or workings of an application, as opposed to its functionality”

    Được tạm dịch là:

    “Kiểm thử hộp trắng là một phương pháp kiểm thử được cấu trúc nội bộ hoặc hoạt động của một chương trình, như tương phản với chức năng được bộc lộ của người dùng cuối.”

    Thông thường, sau khi code xong một vài chức năng thì chúng ta thường sử dụng các công cụ như junit testing để kiểm thử cho ứng dụng.

    Vậy làm thế nào để biết được số testcase mà mình đưa ra đã đầy đủ chưa?.

    Trong kiểm thử hộp trắng, có rất nhiều phương pháp được đưa ra. Trong bài này mình xin trình bày một trong các phương pháp rất phổ biến của nó – Kiểm thử đường dẫn cơ sở

    Kiểm thử đường dẫn cơ sở

    Kiểm thử đường dẫn cơ sở là phương pháp Kiểm thử bao quát các dòng source code, nhánh và đường dẫn. Phương pháp này giúp thu được các testcase từ đường cơ sở, được xác định theo biểu đồ dòng chảy của chương trình.

    Các bước thực hiện:

    1. Xây dựng một đồ thị dòng chảy dựa trên logic của chương trình.
    2. Tính toán độ phức tạp Cyclomatic của đồ thì dòng chảy.
    3. Xác định đường cơ sở.
    4. Kiểm tra nếu số đường cơ sở không nhiều hơn độ phức tạp Cyclomatic.
    5. Thiết kế trường hợp thử nghiệm để kiểm tra các đường cơ sở .

    Đồ thị dòng là một kỹ thuật dựa trên cấu trúc điều khiển của chương trình. Nó khá giống đồ thị luồng điều khiển của chương trình.

    Chúng ta xây dựng đồ thị luông điều khiển của trương trình từ việc phân tích source code.

    Từ đồ thị luồng điều khiển, chúng ta thu được đồ thị dòng bằng cách:

    • Gộp các lệnh tuần tự , có nghĩa là gộp các nút mà từ nút này luôn đi qua nút kia.
    • Thay lệnh rẽ nhánhđiểm kết thúc của các đường điều khiển bằng 1 nút vị tự

    Ở ví dụ trên, ta thấy nút 2 và 3 có thể ghép được với nhau vì dòng chảy từ 2 luôn luôn đi qua 3, tương tự cho nút 4 và 5, và cũng tương tự cho nút 9 và 10

    Sau khi biến đổi từ đồ thị luồng điều khiển, đồ thị dòng có cấu trúc:

    • Mỗi nút (hình tròn) biểu thị một hay một số lệnh tuần tự, hoặc thay cho điểm hội tụ các đường điều khiển.
    • Mỗi cạnh nối hai nút biểu diễn dòng điều khiển

    • 9 nút (trongđó 5 nút là vị tự (mầuđỏ) – Xin nhắc lại: nút vị tựnút rẽ nhánh hoặc nút kết thúc rẽ nhánh)
    • 11 cung
    • Chia mặt phẳng thành 4 miền (Số miền được xác định như hình trên, phần đánh số màu xanh lá cây)

    2. Độ phức tạp Cyclomatic

    Từ các thông số ở trên, chúng ta tính toán độ phức tạp của đồ thị, việc tính này cho phép mình biết được chính xác có bao nhiêu đường dẫn cơ sở.

    Độ phức tạp (ký hiệu V(G) ) được tính theo một trong các công thức sau:

    • V(G) = E – N + 2 (= 11-9+2 = 4)
    • V(G) = số miền phẳng (= 4)
    • V(G) = P – 1 (= 5-1 =4)

    Trong đó: E=số cung; N=số nút; P=số nút vị từ

    Với ví dụ về đồ thị dòng ở trên ta có: V(G) = 4

    3. Xác định đường cơ sở

    Dựa vào độ phức tạp ở trên, chúng ta đã biết được có bao nhiêu đường dẫn cơ sở mà không sợ bị bỏ sót ( Số đường cơ sở chính là độ phức tạp đồ thị)

    Từ đồ thị dòng, chúng ta đưa ra các đường cơ sở sau:

    4. Kiểm tra

    Chúng ta kiểm tra lại số đường cơ sở đã bằng với độ phức tạp chưa, nếu ít hơn thì chứng tỏ chúng ta đã đưa ra thiếu, nếu nhiều hơn thì một số đường cơ sở chúng ta đưa ra bị thừa hoặc bị trùng lặp với các đường cơ sở còn lại

    5. Thiết kế testcase

    Cấu trúc:

    ….

    Ví dụ thực hành

    Lý thuyết vậy đủ rồi, chúng ta đi đến phần thực hành thôi!

    Ví dụ: Cho đoạn trương trình sau:

    public int binarySearch(int sortedArray) { found = true; locationOfsearchValue = middle; } else if (searchValue < sortedArray[ middle ]) top = middle - 1; else bottom = middle + 1; }

    • V(G) = Số miền = 5
    • V(G) = Số cung – số nút + 2 = 13 – 10 + 2
    • V(G) = Số nút vị tự – 1 = 6 -1 = 5 (Nút vị tự là 2, 3, 4, 6 ,9, 10)

    Xác định đường cơ sở Đưa ra testcase

    1. Path 1 test case:
      • Inputs: sortedArray = { }, searchValue = 2
      • Expected results: locationOfSearchValue = -1 
    2. Path 2 test case: cannot be tested stand-alone!
      • Inputs: sortedArray = {2, 4, 6}, searchValue = 8
      • Expected results: locationOfSearchValue = -1
    3. Path 3 test case:
      • Inputs: sortedArray={2,4,6,8,10},searchValue = 6
      • Expected results: locationOfSearchValue = 2
    4. Path 4 test case:
      • Inputs: sortedArray = {2, 4, 6, 8, 10}, searchValue = 4
      • Expected results: locationOfSearchValue = 1
    5. Path 5 test case:
      • Inputs: sortedArray = {2, 4, 6, 8, 10}, searchValue = 10
      • Expected results: locationOfSearchValue = 4

    --- Bài cũ hơn ---

  • Hướng Dẫn Cách Tạo Facebook App, Cách Lấy App Id Facebook Cho Website
  • Tự Học Lập Trình Ios Trong 24H
  • Tạo App Miễn Phí Cho Iphone Trong 10 Phút, Tại Sao Không?
  • App Bán Hàng Là Gì? Tại Sao Nên Viết App Bán Hàng?
  • Hướng Dẫn Thiết Kế App Mobile Bán Hàng Chi Tiết Cho Người Không Biết Code
  • Cập nhật thông tin chi tiết về Kỹ Thuật Để Testcase Không Bị Bỏ Sót. trên website Ezlearning.edu.vn. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Chúc bạn một ngày tốt lành!

  • Web hay
  • Links hay
  • Push
  • Chủ đề top 10
  • Chủ đề top 20
  • Chủ đề top 30
  • Chủ đề top 40
  • Chủ đề top 50
  • Chủ đề top 60
  • Chủ đề top 70
  • Chủ đề top 80
  • Chủ đề top 90
  • Chủ đề top 100
  • Bài viết top 10
  • Bài viết top 20
  • Bài viết top 30
  • Bài viết top 40
  • Bài viết top 50
  • Bài viết top 60
  • Bài viết top 70
  • Bài viết top 80
  • Bài viết top 90
  • Bài viết top 100