Bảng quyết định tớnh thuế thu nhập

Một phần của tài liệu (LUẬN văn THẠC sĩ) kiểm định phần mềm bằng kỹ thuật hộp đen luận văn ths công nghệ thông tin 1 01 10 (Trang 49 - 64)

d. Kiểm định so sỏnh

Trong một số trường hợp (như mỏy bay, hàng khụng vũ trụ, điều khiển thiết bị năng lượng hạt nhõn...), độ tin cậy của phần mềm đúng vai trũ tuyệt đối quan trọng, người ta thường gọi là phần mềm tuyệt đối đỳng. Trong cỏc trường hợp như vậy, mỗi

Tổng thu nhập > 5.000.000 Tổng thu nhập <=5.000.000 Người cú nhà ở 4% thuế 6% thuế

phiờn bản cú thể được kiểm định với cựng dữ liệu kiểm định để đảm bảo rằng tất cả cỏc cung cấp đầu ra y như nhau. Sau đú, tất cả cỏc phiờn bản được thực thi song song với so sỏnh thời gian thực cỏc kết quả để đảm bảo tớnh chắc chắn. Cỏc phiờn bản độc lập là cơ sở của kỹ thuật kiểm định hộp đen được gọi là kiểm định so sỏnh.

Kiểm định so sỏnh cũng cũn được gọi là kiểm định dựa vào nhau, cỏc bước thực hiện như sau:

- Thực thi nhiều bản khỏc nhau cho cựng một đặc tả.

- Thực hiện cỏc kỹ thuật hộp đen với cỏc sản phẩm đú cho cựng cỏc ca kiểm định và cựng cỏc dữ liệu vào.

- So sỏnh cỏc kết quả thu được: nếu cú khỏc biệt thỡ chứng tỏ cú sai trong một sản phẩm nào đú.

Khi nhiều cài đặt của cựng một đặc tả được đưa ra, cỏc trường hợp kiểm định thiết kế sử dụng cỏc kỹ thuật hộp đen khỏc (như phõn hoạch tương đương chẳng hạn) được cung cấp như đầu vào cho mỗi phiờn bản của phần mềm. Nếu đầu ra của mỗi phiờn bản là như nhau, sẽ cho rằng tất cả cỏc cài đặt là đỳng. Nếu đầu ra là khỏc nhau, mỗi ứng dụng được nghiờn cứu để xỏc định cú sai sút nào trong một hoặc nhiều phiờn bản là nguyờn nhõn gõy lỗi. Trong nhiều trường hợp, so sỏnh cỏc đầu ra cú thể được thực hiện bởi cỏc cụng cụ tự động.

Như thế, kiểm định so sỏnh là khụng rừ ràng. Nếu đặc tả mà tất cả cỏc phiờn bản được phỏt triển trờn đú là cú lỗi, thỡ tất cả cỏc phiờn bản sẽ cú khả năng dẫn đến lỗi. Hơn nữa, nếu mỗi phiờn bản độc lập tạo ra giống nhau, nhưng khụng đỳng thỡ cỏc kết quả kiểm định sẽ thất bại trong việc phỏt hiện lỗi.

2.2. THIẾT KẾ CÁC GIAI ĐOẠN KIỂM ĐỊNH PHẦN MỀM THEO TIẾP CẬN HỘP ĐEN

2.2.1. Một số chiến lƣợc kiểm định phần mềm

Chiến lược kiểm định phần mềm là tớch hợp cỏc bước thiết kế trường hợp kiểm định thành một loạt cỏc bước được hoạch định sẵn [6, 7, 8, 14, 19, 20].

Việc phỏt triển phần mềm, đi vào dọc theo đường xoỏy ốc, giảm dần cỏc mức trừu tượng trờn mỗi vũng, gồm cỏc bước sau đõy:

Cụng nghệ hệ thống Phõn tớch yờu cầu Thiết kế Mó hoỏ.

Chiến lược kiểm định phần mềm cũng cú thể di chuyển dọc theo đường xoỏy ốc và đi ra theo đường xoỏy ốc theo luồng mở rộng phạm vi kiểm định trờn mỗi vũng, tức theo thứ tự ngược lại, tương ứng như sau:

Kiểm định hệ thốngKiểm định tớnh hợp lệKiểm định tớch hợpKiểm định đơn vị.

Hỡnh 2.6. Chiến lược kiểm định

Theo quan điểm thủ tục, kiểm định nằm trong ngữ cảnh cụng nghệ phần mềm trờn thực tế là dóy bốn bước được cài đặt tuần tự, đú là:

Hỡnh 2.7. Cỏc bước kiểm định

Kiểm định đơn vị: Tập trung trờn mỗi module riờng biệt, đảm bảo rằng cỏc chức

năng của nú tương ứng với một đơn vị. Sử dụng thiờn về kỹ thuật kiểm định hộp

Kiểm định hệ thống Kiểm định đơn vị Phõn tớch yờu cầu Thiết kế Mó hoỏ Kiểm định tớnh hợp lệ Kiểm định tớch hợp ST V I R S D U C Kiểm định đơn vị Kiểm định tớch hợp Kiểm định tớnh hợp lệ Kiểm định hệ thống Lập trỡnh Thiết kế Phõn tớch yờu cầu Cụng ngh ệ hệ thố ng

trắng, thực hiện cỏc đường dẫn độc lập trong cấu trỳc điều khiển của module để đảm bảo phủ hoàn toàn và phỏt hiện lỗi tối đa.

Kiểm định tớch hợp: Tập trung vào việc thiết kế và xõy dựng kiến trỳc phần mềm.

Cỏc thành phần phải được lắp rỏp lại hoặc tớch hợp lại thành một gúi phần mềm hoàn chỉnh. Bước này nhằm kết hợp việc xỏc minh và xõy dựng chương trỡnh. Cỏc kỹ thuật thiết kế trường hợp kiểm định hộp đen là phổ biến nhất trong việc tớch hợp. Tuy nhiờn, cú thể sử dụng hạn chế kiểm định hộp trắng để đảm bảo phủ hết cỏc đường dẫn điều khiển chớnh.

Kiểm định tớnh hợp lệ: trong đú cỏc yờu cầu đó được thiết lập như một phần của

việc phõn tớch yờu cầu phần mềm được thẩm định, dựa vào phần mềm đó xõy dựng. Tiờu chuẩn hợp lệ (được thiết lập trong quỏ trỡnh phõn tớch yờu cầu) cần được kiểm định. Kiểm định nhằm cung cấp sự đảm bảo cuối cựng là phần mềm đó thoả món cỏc chức năng, hành vi và cỏc yờu cầu thực hiện. Chỉ sử dụng kỹ thuật hộp đen trong quỏ trỡnh thẩm định.

Kiểm định hệ thống: là một phần của cụng nghệ hệ thống mỏy tớnh, trong đú phần

mềm và cỏc thành phần khỏc của hệ thống được kiểm định. Phần mềm được thẩm định một lần nữa và cần được kết hợp với cỏc thành phần khỏc của hệ thống (phần cứng, con người, cơ sở dữ liệu,..). Kiểm định hệ thống nhằm xỏc minh rằng tất cả cỏc thành phần hệ thống khớp nhau một cỏch hợp lý, và hiệu suất là đạt được.

a. Kiểm định đơn vị

Kiểm định đơn vị tập trung vào việc xỏc minh trờn đơn vị nhỏ nhất của thiết kế phần mềm – thành phần phần mềm, module hoặc lớp. Sử dụng cỏc mụ tả thiết kế thủ tục để hướng dẫn, cỏc đường dẫn điều khiển quan trọng được kiểm định để phỏt hiện lỗi trong phạm vi module. Độ phức tạp liờn quan của cỏc kiểm định và cỏc lỗi đó phỏt hiện được giới hạn bởi ràng buộc phạm vi thiết lập cho kiểm định đơn vị. Kiểm định đơn vị thường hướng hộp trắng, và cỏc bước cú thể được thực hiện song song trờn nhiều module.

Cỏc lý do của kiểm định đơn vị:

Kiểm định nhằm phỏt hiện cỏc lỗi trong cỏc phạm vi của module, bao gồm:

 Giao diện module.

 Cấu trỳc dữ liệu cục bộ.

 Điều kiện biờn.

 Đường dẫn độc lập.

 Đường dẫn xử lý lỗi.

Giao diện module: Được kiểm định để đảm bảo thụng tin vào, ra hợp lệ của đơn vị

chương trỡnh. Thường gồm một số kiểm định cần thiết sau đõy:

 Số tham số đầu vào cú bằng số đối số khụng?

 Cỏc thuộc tớnh của tham số và đối số cú phự hợp khụng?

 Số đối số truyền vào cho module được gọi cú phự hợp số tham số?

 Cỏc thuộc tớnh đối số truyền cho module được gọi cú phự hợp với thuộc tớnh của tham số?

 Khai bỏo biến toàn cục nhất quỏn trong cỏc module?

 Cỏc ràng buộc phự hợp với cỏc tham số?

 Cỏc đối số được truyền vào cú đỳng thứ tự?

Khi module thực hiện vào ra, cần thực hiện cỏc kiểm định giao diện bổ sung:

 Cỏc thuộc tớnh tập tin cú đỳng khụng?

 Cỏc lệnh đúng/mở tập tin cú đỳng khụng?

 Cỏc đặc tả hỡnh thức phự hợp với lệnh vào/ra?

 Kớch thước vựng đệm phự hợp với kớch thước bản ghi?

 Cỏc tập tin được mở trước khi sử dụng?

 Xử lý điều kiện kết thỳc tập tin?

 Xử lý lỗi vào ra?

Cấu trỳc dữ liệu cục bộ: là nguồn lỗi phổ biến, được kiểm tra để đảm bảo rằng dữ liệu được lưu trữ tạm thời đảm bảo tớnh nguyờn vẹn trong tất cả cỏc bước thực hiện của thuật toỏn. Cỏc trường hợp kiểm định sẽ được thiết kế để phỏt hiện cỏc loại lỗi sau:

 Kiểu khụng thớch hợp hoặc mõu thuẫn.

 Giỏ trị khởi tạo hoặc giỏ trị mặc định khụng đỳng.

 Tờn biến khụng đỳng (sai chớnh tả hoặc bị cắt bớt).

 Kiểu dữ liệu khụng thống nhất.

 Thiếu hoặc tràn bộ nhớ, cỏc ngoại lệ.

Điều kiện biờn: Điều kiện biờn được kiểm định để đảm bảo rằng module hoạt động

hợp lệ tại cỏc biờn được thiết lập đạt đến giới hạn hoặc xử lý giới hạn.

Đường dẫn độc lập: Tất cả cỏc đường dẫn độc lập (đường dẫn cơ sở) của cấu trỳc

điều khiển được thực hiện để đảm bảo rằng tất cả cỏc cõu lệnh trong module đó được thực hiện ớt nhất một lần. Kiểm định cỏc đường dẫn thực thi là nhiệm vụ chủ yếu trong kiểm định đơn vị. Cỏc trường hợp kiểm định sẽ được thiết kế để phỏt hiện cỏc lỗi do cỏc tớnh toỏn khụng đỳng, cỏc so sỏnh khụng chớnh xỏc, cỏc luồng điều khiển khụng phự hợp. Kiểm định đường dẫn cơ sở và kiểm định lặp là cỏc kỹ thuật hiệu quả để phỏt hiện một mảng rộng cỏc lỗi đường dẫn.

Đường dẫn xử lý lỗi: Một thiết kế tốt sẽ cho biết cỏc điều kiện lỗi được biết trước

và cỏc đường dẫn xử lý lỗi được thiết lập để gửi lại hoặc kết thỳc xử lý dễ dàng khi một lỗi xuất hiện. Một số lỗi tiềm ẩn sẽ được kiểm định khi việc xử lý lỗi được đỏnh giỏ như sau:

 Mụ tả lỗi khú hiểu.

 Lỗi được chỳ giải khụng phự hợp với lỗi gặp phải.

 Điều kiện lỗi dẫn đến sự can thiệp của hệ thống trước khi xử lý lỗi.

 Xử lý điều kiện ngoại lệ khụng chớnh xỏc.

Cỏc thủ tục kiểm định đơn vị:

Kiểm định đơn vị thường được xem như một phần phụ cho bước mó hoỏ. Sau khi mó nguồn đó được phỏt triển, được duyệt lại và được kiểm tra đỳng cỳ phỏp, thỡ bắt đầu thiết kế cỏc trường hợp kiểm định đơn vị. Việc xem lại thụng tin thiết kế sẽ hướng dẫn cho việc thiết lập trường hợp kiểm định phự hợp nhằm phỏt hiện cỏc loại lỗi trờn. Mỗi trường hợp kiểm định phải được gắn liền với tập cỏc kết quả mong đợi.

Vỡ mỗi module khụng phải là một chương trỡnh độc lập, nờn phần mềm điều khiển và/hoặc nhỏnh cụt cần được phỏt triển cho mỗi kiểm định đơn vị. Trong đa số cỏc ứng dụng, bộ điều khiển khụng cú gỡ hơn là một chương trỡnh chớnh mà chấp nhận dữ liệu trường hợp kiểm định, gửi dữ liệu đú đến module (được kiểm định) và in cỏc kết quả liờn quan.

Cỏc nhỏnh cụt dựng để thay thế cỏc module cấp dưới được gọi bởi cỏc module được kiểm định. Một nhỏnh cụt hay “chương trỡnh con giả” sử dụng giao diện của module cấp dưới, cú thể thực hiện thao tỏc dữ liệu tối thiểu, in cỏc xỏc nhận đầu vào và trả điều khiển. Cỏc trường hợp kiểm định Module Giao diện

Cấu trỳc dữ liệu cục bộ Cỏc điều kiện biờn Cỏc đường dẫn độc lập Cỏc đường dẫn xử lý lỗi Cỏc trường hợp kiểm định Giao diện Cấu trỳc dữ liệu cục bộ Cỏc điều kiện biờn Cỏc đường dẫn độc lập Cỏc đường dẫn xử lý lỗi KẾT QUẢ Module được kiểm định Nhỏnh cụt Nhỏnh cụt Bộ điều khiển (a) (b)

Kiểm định đơn vị được đơn giản hoỏ khi module cú sự liờn kết cao được thiết kế. Khi chỉ một chức năng được gọi bởi một module, số cỏc trường hợp kiểm định được giảm xuống và cỏc lỗi cú thể dự đoỏn và phỏt hiện sớm hơn.

3.1.2. Kiểm định tớch hợp

Kiểm định tớch hợp là một kỹ thuõt hệ thống để xõy dựng cấu trỳc chương trỡnh

trong khi tiến hành cỏc kiểm định để phỏt hiện cỏc lỗi liờn kết. Mục đớch là lấy cỏc module đó được kiểm định để phỏt hiện cỏc lỗi liờn kết. Mục đớch là lấy cỏc module đó được kiểm định đơn vị và xõy dựng nờn một cấu trỳc chương trỡnh được quy định bởi thiết kế.

Cú thể xõy dựng chương trỡnh bằng cỏch tổ hợp tất cả cỏc module trước, sau đú toàn bộ chương trỡnh sẽ được kiểm định. Tuy nhiờn, việc này sẽ gõy ra nhiều khú khăn trong việc sửa lỗi vỡ lỗi trải rộng trờn toàn bộ chương trỡnh, do đú cú thể phỏt sinh thờm lỗi trong quỏ trỡnh khắc phục.

Để khắc phục, người ta thường dựng cỏc chiến lược tớch hợp tăng dần: xõy dựng chương trỡnh từ cỏc đoạn nhỏ dễ dàng phỏt hiện và khắc phục lỗi. Tớch hợp từ trờn xuống và tớch hợp từ dưới lờn là hai chiến lược tớch hợp tăng dần thụng dụng.

Tớch hợp từ trờn xuống (Top - down)

Là cỏch tiếp cận tăng dần cho tới khi xõy dựng xong toàn bộ chương trỡnh. Cỏc module được tớch hợp bằng cỏch đi dần xuống qua cấp bậc điều khiển, bắt đầu với module điều khiển chớnh, cỏc module phụ thuộc vào module điều khiển chớnh sẽ được tổ hợp dần vào cấu trỳc chương trỡnh.

M1

M2 M3 M4

M5 M6 M7

Tiến trỡnh tớch hợp từ trờn xuống được thực hiện qua năm bước sau đõy:

Bước 1: Module điều khiển chớnh được dựng như bộ điều khiển kiểm định và cỏc nhỏnh cụt được thay thế vào cỏc module phụ thuộc trực tiếp vào cỏc module điều khiển chớnh.

Bước 2: Phụ thuộc vào cỏch tiếp cận tớch hợp đó chọn (theo chiều rộng hoặc chiều sõu),

nhỏnh cụt bờn dưới được thay thế từng cỏi một mỗi lần bằng cỏc module hiện tại.

Bước 3: Việc kiểm định được tiến hành khi từng module được tớch hợp vào.

Bước 4: Khi hoàn thành mỗi tập kiểm định, nhỏnh cụt khỏc sẽ được thay thế bởi một

module thực sự.

Bước 5: Kiểm định hồi quy: nghĩa là tiến hành tất cả hay một số cỏc phỏp kiểm định

trước để đảm bảo cỏc lỗi mới khụng bị đưa vào.

Quỏ trỡnh được lặp lại từ bước 2 cho đến khi toàn bộ cấu trỳc chương trỡnh được xõy dựng xong.

Tớch hợp từ dưới lờn (bottom - up)

Kiểm định tớch hợp bottom-up, giống như tờn gọi, bắt đầu xõy dựng và kiểm định với cỏc module nguyờn tử (tức là, cỏc module ở mức thấp nhất trong cấu trỳc chương trỡnh). Vỡ cỏc module được tớch hợp từ dưới lờn nờn việc xử lý được yờu cầu cho cỏc module cấp dưới mức đó cho là luụn luụn cú sẵn và nhu cầu cỏc nhỏnh cụt được loại bỏ. Error! Mc D1 D2 D3 Ma Mb Nhúm 1 Nhúm 2 Nhúm 3 Hỡnh 2.10. Tớch hợp bottom - up

Chiến lược kiểm định tớch hợp bottom-up cú thể được cài đặt theo cỏc bước sau:

1) Cỏc module mức thấp được kết hợp thành cỏc nhúm (cluster) (đụi khi được gọi là cỏc khối) theo nghĩa tổ hợp này thực hiện một chức năng con cụ thể của phần mềm.

2) Bộ điều khiển (chương trỡnh điều khiển cho việc kiểm định) được viết để phối hợp cỏc trường hợp kiểm định đầu vào và đầu ra.

3) Kiểm định nhúm.

4) Cỏc bộ điều khiển được loại bỏ và cỏc nhúm được kết hợp chuyển dịch lờn trờn trong cấu trỳc chương trỡnh.

Tớch hợp mẫu sau được minh họa trong hỡnh 3.5. Cỏc module được kết hợp tạo thành cỏc nhúm 1, 2 và 3. Mỗi nhúm được kiểm định sử dụng bộ điều khiển. Cỏc module trong nhúm 1 và 2 là mức dưới của Ma. Cỏc bộ điều khiển D1D2 được loại bỏ, và cỏc nhúm được giao tiếp trực tiếp với Ma. Tương tự, bộ điều khiển D3 cho nhúm 3 được loại bỏ trước khi tớch hợp với module Mb. Cả hai MaMb cuối cựng sẽ được tớch hợp với module Mc,…

b. Kiểm định hợp lệ

Sau giai đoạn kiểm định tớch hợp, kiểm định hợp lệ là bước cuối cựng trước khi bàn giao sản phẩm cho khỏch hàng.

Tiờu chuẩn kiểm định hợp lệ:

Tớnh hợp lệ hiểu theo nghĩa đơn giản là kiểm tra cỏc chức năng phần mềm đỳng với mong muốn khỏch hàng. Một bản kế hoạch kiểm định nếu đại cương cỏc kiểm định được tiến hành và một bản cỏc thủ tục kiểm định xỏc định cỏc trường hợp kiểm định đặc biệt được dựng để biểu thị tớnh tuõn thủ theo yờu cầu. Cả hai bản kế hoạch và thủ tục đều phải đảm bảo cỏc yờu cầu chức năng được thoả món.

Cú hai trường hợp cú thể xảy ra sau khi tiến hành cỏc trường hợp kiểm định, đú là:

- Thứ nhất: Chức năng tuõn thủ đỳng cỏc đặc tả và được chấp nhận.

- Thứ hai: Cú một số sai lệch so với đặc tả được phỏt hiện và một danh sỏch cỏc

Một phần của tài liệu (LUẬN văn THẠC sĩ) kiểm định phần mềm bằng kỹ thuật hộp đen luận văn ths công nghệ thông tin 1 01 10 (Trang 49 - 64)

Tải bản đầy đủ (PDF)

(96 trang)