CHƢƠNG 2 CÁC KỸ THUẬT KIỂM ĐỊNH PHẦN MỀM
2.4. Sự tớch hợp kiểm định hộp đen và hộp trắng
2.4.1 Nhận xột so sỏnh kiểm định hộp đen và hộp trắng
* Những thuận lợi và hạn chế của kiểm định hộp đen Những thuận lợi của kiểm định hộp đen:
- Cú hiệu quả thiết thực khi đƣợc sử dụng trờn cỏc hệ thống lớn, cú quy mụ. - Ngƣời kiểm định và ngƣời phỏt triển khụng phụ thuộc lẫn nhau, sự kiểm định đƣợc cõn nhắc và khỏch quan.
- Ngƣời kiểm định cú thể khụng đũi hỏi kiến thức chuyờn mụn hay kỹ thuật cao.
- Khụng cần thiết đũi hỏi chi tiết cỏc kiến thức về chức năng của hệ thống đối với ngƣời kiểm định.
- Kiểm định sẽ thực hiện từ một khớa cạnh khung nhỡn ngƣời sử dụng đầu cuối. Bởi vỡ ngƣời sử dụng đầu cuối sẽ đảm nhận hệ thống này (với lý do này thỉnh thoảng kỹ thuật kiểm định này cũng đƣợc gọi là kiểm định sự tin cậy hay kiểm định chấp nhận).
- Sự kiểm định trợ giỳp việc nhận biết tớnh chất gần đỳng và sự mõu thuận trong cỏc đặc tả chức năng của hệ thống.
- Cỏc trƣờng hợp kiểm định cú thể đƣợc thiết kế ngay khi cỏc đặc tả chức năng của hệ thống đƣợc hoàn thành.
* Những hạn chế của kiểm định hộp đen:
- Cỏc trƣờng hợp kiểm định mang tớnh cứng nhắc và đƣa ra cỏc vấn đề mang tớnh thử thỏch năng lực cỏc chức năng của hệ thống cho vấn đề thiết kế, khụng cú cỏc đặc tả chức năng mang tớnh hoàn toàn trong suốt.
- Với kiểm định hộp đen, chỳng khú khăn để nhận biết cỏc dữ liệu vào một cỏch tinh tế thủ thuật, nếu cỏc trƣờng hợp kiểm định này khụng bộc lộ hết đƣợc trờn cơ sở cỏc đặc tả.
- Chỳng khú khăn để nhận biết tất cả cỏc cỏc dữ liệu vào một cỏch hợp lý trong một thời gian kiểm định cú giới hạn. Vỡ viết cỏc trƣờng hợp kiểm định đũi hỏi thời gian và khú khăn.
- Cú cỏc sự rủi ro khụng nhận biết hết cỏc hƣớng đi trong thời gian kiểm định.
- Cú cỏc sự rủi ro tỏi diễn mắc phải của cỏc sự kiểm định mà đó thực hiện đối với ngƣời lập trỡnh.
* So sỏnh kiểm định hộp đen và hộp trắng
Với cỏc vấn đề và vớ dụ ở phần trƣớc đƣa ra ta nhận thấy rằng từ kiểm định hộp trắng cú thể cho biết cỏc lý do kiểm định nào là khụng thể thực hiện bằng kiểm định
hộp đen. Ngƣợc lại hoàn toàn cũng đỳng, kiểm định hộp đen cú thể đƣa ra cỏc lý do kiểm định nào khụng thể thực hiện đƣợc bằng kiểm định hộp trắng.
Kiểm định hộp trắng chỉ đề cập đến kiểm định sản phẩm phần mềm, mà chỳng khụng thể bảo đảm rằng sự đặc tả đầy đủ cú thể đƣợc thực thi hoàn toàn. Kiểm định hộp đen chỉ đề cập đến kiểm định sự đặc tả, chỳng khụng bảo đảm rằng tất cả cỏc thành phần của sự thực thi cú thể đƣợc kiểm định hết. Theo đú kiểm định hộp đen là kiểm định dựa vào sự đặc tả và sẽ phỏt hiện ra cỏc lỗi của sự bỏ sút, cho biết bộ phận này của sự đặc tả khụng đƣợc thoả món. Kiểm định hộp trắng là kiểm định dựa vào sự thực thi và sẽ phỏt hiện ra cỏc lỗi của nhiệm vụ đƣợc uỷ thỏc, cho biết rằng bộ phận của sự thực thi bị lỗi. Nhƣ vậy ta thấy rằng để kiểm định đầy đủ một sản phẩm phần mềm thỡ đũi hỏi phải kiểm định bao gồm cả kiểm định hộp đen và hộp trắng.
Kiểm định hộp trắng đũi hỏi chi phớ cao hơn nhiều so với kiểm định hộp đen. Chỳng yờu cầu mó nguồn sẽ đƣợc đƣa ra trƣớc khi cỏc vấn đề kiểm định cú thể đƣợc lập kế hoạch dự kiến và vất vả hơn nhiều trong quỏ trỡnh xỏc định dữ liệu vào phự hợp cũng nhƣ sự xỏc định rằng phần mềm này là đỳng hay khụng. Với cỏc phƣơng phỏp ở trờn ta thấy rằng để bắt đầu kế hoạch kiểm định với một phƣơng phỏp kiểm định hộp đen thỡ chỳng đƣợc thực hiện ngay khi sự đặc tả cú hiệu lực. Kế hoạch kiểm định hộp trắng sẽ bắt đầu ngay khi tất cả cỏc kiểm định hộp đen đƣợc thành cụng, hợp quy cỏch, với sự tạo ra cỏc đồ thị luồng và sự xỏc định cỏc đƣờng cơ sở xuyờn suốt mó nguồn. Với cỏc đƣờng xỏc định khi đú sẽ kiểm tra lại dựa vào kế hoạch kiểm định hộp đen và đƣa vào bất kỳ cỏc yờu cầu chạy thử nào đƣợc xỏc định và ỏp dụng.
Cỏc kết quả của quỏ trỡnh kiểm tra lỗi từ giai đoạn này cú thể dẫn đến chi phớ rất cao. Một lỗi của kiểm định hộp trắng cú thể dẫn đến một sự thay đổi nào đú chỳng yờu cầu tất cả kiểm định hộp đen sẽ phải thực hiện lại và xỏc định lại cỏc hƣớng kiểm định hộp trắng. Vỡ vậy vấn đề đặt ra, xột một sự phối hợp của kiểm định hộp đen và kiểm định hộp trắng theo một hỡnh thức nào đú để tiờu tốn chớ phớ và thời gian giảm xuống vẫn khụng phải là khụng cú lý do cơ bản để kiểm định phần mềm đƣợc hợp lý hơn.
2.4.2 Sự tớch hợp kiểm định hộp đen và hộp trắng
Mặc dự cả kiểm định hộp đen và hộp trắng cú mục tiờu nhƣ nhau, cụ thể là tỡm ra cỏc cỏc lỗi trong một chƣơng trỡnh, nhƣng chỳng thƣờng đƣợc thực hiện tỏch biệt nhau. Trong quan điểm này, lý do là thiếu cỏc kỹ thuật và cỏc cụng cụ tớch hợp cả hai chiến lƣợc, sự tớch hợp hai kỹ thuật kiểm định hộp đen và hộp trắng cú thể về căn bản
giảm đi cỏc chi phớ kiểm định. Đặc trƣng, một kỹ thuật tớch hợp là cú thể tạo ra một bộ kiểm định đƣợc rỳt gọn, bằng cỏc trƣờng hợp kiểm định cú thể bao hàm cả đặc tả và sự thực thi đồng thời.
Trong phần này giới thiệu sự tớch hợp kiểm định hộp đen và hộp trắng, bằng một sự biểu diễn đồ thị mới của cỏc lớp, chỳng cú thể đƣợc sử dụng đối với kiểm định đƣợc tớch hợp hộp đen và hộp trắng mức lớp. Nột đặc trƣng của sự biểu diễn đồ thị mức lớp đú là cỏc sự mụ tả hiện hữu với mỗi method của một lớp cho thấy từ hai khớa cạnh tƣơng ứng, cụ thể là khung nhỡn đặc tả và khung nhỡn thực thi. Cả sự đặc tả của một method và thực thi của chỳng đƣợc biểu diễn bằng cỏc đồ thị luồng điều khiển, chỳng cho phộp kiểm định hộp đen và hộp trắng bằng cỏc kỹ thuật cấu trỳc. Ngoài ra, một kỹ thuật rỳt gọn bộ kiểm định cũng đƣợc trỡnh bày đối với sự điều chỉnh cỏc trƣờng hợp kiểm định hộp trắng theo kiểm định hộp đen.
Với sự biểu diễn đồ thị mới đối với kiểm định mức lớp. Điểm đặc trƣng của chỳng đú là cỏc sự biểu diễn lớp hiện hữu bao gồm kết hợp sự đặc tả và thực thi của một lớp. Mỗi method đƣợc trỡnh bày bằng hai đồ thị luồng điều khiển trong cỏc mức khỏi niệm, cụ thể luồng điều khiển theo lý thuyết và luồng điều khiển thực thi, thể hiện theo hỡnh thức khung nhỡn đặc tả và sau đú là khung nhỡn thực thi của một method. Vỡ thế, sự biểu diễn này đƣợc gọi là đồ thị thực thi đặc tả lớp của một lớp để làm nổi bật sự kết hợp của hai khung nhỡn phõn biệt. Mặc dự cỏc khung nhỡn của một method cú thể khỏc nhau trong mức độ khỏi niệm, tuy nhiờn sự khỏc nhau này khụng làm ảnh hƣởng sự tớch hợp và với sự tớch hợp này đƣợc đƣa ra theo mức đồ thị luồng điều khiển.
Với cỏc đồ thị luồng điều khiển đƣợc xõy dựng theo cỏc hỡnh thức đặc tả và thực thi, cỏc kỹ thuật cấu trỳc, chặng hạn cỏc kỹ thuật kiểm định tiờu chuẩn cơ sở bao phủ, cú thể đƣợc sử dụng để tạo ra cỏc trƣờng hợp kiểm định hợp lý. Một đặc trƣng quan trọng của một đồ thị thực thi đặc tả lớp đú là sự tạo ra cỏc trƣờng hợp kiểm định cú thể bao phủ cả đặc tả và thực thi. Sự xõy dựng đồ thị thực thi đặc tả lớp đƣợc làm nổi bật lờn với một kỹ thuật rỳt gọn bộ kiểm định để giảm bớt số cỏc trƣờng hợp kiểm định đƣợc đũi hỏi. Dƣới ý tƣởng của kỹ thuật bộ kiểm định rỳt gọn để điều chỉnh cỏc trƣờng hợp kiểm định đƣợc tạo ra đối với kiểm định hộp trắng bao hàm cả sự đặc tả. Rừ ràng, một bộ kiểm định đƣợc rỳt gọn cú thể giảm bớt chi phớ thực hiện kiểm định cũng nhƣ cỏc chi phớ duy trỡ trƣờng hợp kiểm định.
Trƣớc khi đƣa ra sự tớch hợp kiểm định hộp đen và hộp trắng mức lớp ta cú hai nhận xột sau:
(1) Kiểm định mức lớp. Cỏc phƣơng phỏp và ngụn ngữ hƣớng đối tƣợng cú thể cải tiến quy trỡnh và sản xuất phần mềm bằng nhiều cỏch. Vớ dụ phần mềm cú thể đƣợc phỏt triển hiệu quả hơn bằng cỏch sử dụng cỏc thƣ viện lớp chỳng đƣợc tiến hành xuyờn suốt cỏc kỹ thuật hƣớng đối tƣợng. Thờm vào đú, chất lƣợng của phần mềm phỏt triển này cú thể đƣợc tăng lờn. Chất lƣợng phần mềm đƣợc quyết định, bao gồm cỏc thuộc tớnh khỏc nhau, trờn cỏc module và kiến trỳc của phần mềm, chỳng cú thể đƣợc cải tiến bằng phõn tớch và thiết kế hƣớng đối tƣợng. Cỏc lý do này gúp phần để nhận thức rằng phần mềm hƣớng đối tƣợng đũi hỏi kiểm định ớt hơn phần mềm thủ tục và kiểm định chỳng cú thể đƣợc làm theo cỏch sử dụng cỏc phƣơng phỏp truyền thống.
Tuy nhiờn, cỏc phƣơng phỏp và cỏc ngụn ngữ hƣớng đối tƣợng khụng bảo đảm ớt lỗi trong phỏt triển phần mềm. Thụng thƣờng một điều đƣợc thừa nhận đú là kiểm định phần mềm hƣớng đối tƣợng chỉ cú thể đƣợc thực hiện theo một số phạm vi giới hạn cỏc phƣơng phỏp truyền thống, bởi vỡ cỏc kỹ thuật hƣớng đối tƣợng thƣờng mang tớnh kế thừa và đa dạng, đƣa ra cỏc vấn đề nào khụng thể giải quyết đƣợc trong cỏc phƣơng phỏp của kiểm định phần mềm cấu trỳc. Hơn nữa, việc sử dụng lại là một trong cỏc mục tiờu của mụ hỡnh hƣớng đối tƣợng, đũi hỏi kiểm định tập trung cao, từ phần mềm đó đƣợc phỏt triển cú nhiều khả năng để sử dụng lại trong cỏc ngữ cảnh khỏc.
Quỏ trỡnh kiểm định thƣờng bắt đầu bởi thụng qua cỏc thực thể cú thể thử đƣợc nhỏ nhất của phần mềm, chỳng đƣợc đề cập theo cỏc đơn vị cơ sở của sự kiểm định. Mặc dự cỏc thủ tục chỳng đƣợc xột bằng cỏc đơn vị cơ sở của kiểm định trong phần mềm truyền thống, tƣơng tự với cỏc method trong cỏc ngụn ngữ hƣớng đối tƣợng, tuy nhiờn cỏc lớp đƣợc xột theo cỏc đơn vị cơ sở của kiểm định thớch hợp hơn cỏc method. Với hai lý do nhƣ sau:
- Thứ nhất là sự sử dụng đƣợc gúi gọn với một trong cỏc kỹ thuật hƣớng đối tƣợng gõy trở ngại khả năng việc quan sỏt trạng thỏi của một đối tƣợng, chặng hạn cỏc giỏ trị của cỏc thuộc tớnh của chỳng. Từ cỏch hoạt động của một method thƣờng khụng chỉ phụ thuộc trờn cỏc đầu vào của chỳng mà cũn trờn trạng thỏi hiện hành của đối tƣợng, túm lại làm phức tạp sự kiểm định của cỏc method.
- Thứ hai, sự phức tạp kiểm định của cỏc method đú là sự ảnh hƣởng lẫn nhau của chỳng. Trong lỳc thụng tin đƣợc xử lý trong phạm vi một lớp, thỡ cỏc method ảnh hƣởng lẫn nhau xuyờn suốt cỏc lời gọi yờu cầu lẫn nhau và dữ liệu đƣợc chia sẽ chỳng đƣợc trao đổi theo cỏc thuộc tớnh. Sự kiểm định tỏch biệt mỗi method sẽ dẫn đến sự mụ phỏng của sự ảnh hƣởng lẫn nhau này bằng một bộ kiểm định.
(2) Kiểm định tớch hợp hộp đen và hộp trắng. Tất cả cỏc kỹ thuật đƣợc đề cập cho đến bõy giờ đối với kiểm định đơn vị hƣớng đối tƣợng chủ yếu là theo cỏc phƣơng phỏp kiểm định hộp đen hoặc kiểm định hộp trắng. Rất ớt trƣờng hợp đƣợc đề cập, khỏm phỏ sự tớch hợp của cỏc kỹ thuật kiểm định hộp đen và hộp trắng. Một số tài liệu cú đề cập phƣơng phỏp dựa trờn cỏc đặc tả đại số. Cỏc trƣờng hợp kiểm định chủ yếu đƣợc nhận dạng trờn cơ sở đặc tả, trong khi đú sự thực thi đũi hỏi phụ thuộc vào sự quyết định lựa chọn một trong hai đối tƣợng theo khả năng quan sỏt tƣơng ứng, cú thể chứng tỏ rằng khụng thể giải quyết chỉ cú dựa trờn cơ sở của đặc tả.