軟體可測試性軟體可測試性(Software testability)是指一個软件工件(軟體系統、模組、需求文件或設計文件等)在一給定的測試環境下,可支援測試的程度。 許多軟體系統是不可測試的,或是無法立即測試。例如Google的ReCAPTCHA,若沒有任何有關圖的元資料,則無法成為可測試的系統。不過若針對每一張圖,都有對應說明應有結果的標籤,就可以測試此一系統。因此软件工件的可測試性不是内在性質,不像軟體大小一様可以直接量測。軟體可測試性是外在性質,由待測試的軟體及測試目標、方法及測試資源(測試環境)之間的相互關係來決定。 「可測試性」和設計良好程度的相關性可由以下現象看出:低內聚性、高耦合力、存在多餘程式碼,以及缺乏封裝的程式往往也是不容易測試的程式[1]。若軟體的可測試性低,可能會造成測試工作的增加。在一些極端的情形下,缺乏可測試性可能會使部份甚至全部的測試或对軟體需求的评估無法進行。 為了要找到可測試性以及利用測試找到系統中潛在錯誤(假設有錯誤時)的難度的關係,有一種評估可測試性的相對指標,是每一次需要多少的測試用例才能形成完整的測試套件(在測試了所有測試用例後,所得到的結果可以確定此系統符合某規格,或不符合某規格,不會有模糊地帶)。若數量不大,表示程式的可測試性高。依照此方式,已有提出可測性等級(testability hierarchy)[2][3]。 背景知識依照实证的假設,軟體測試的工作量及有效性和以下幾個因素有關:
軟體元件的可測試性軟體元件(模組或類別)的可測試性和以下因素有關:
軟體元件的可測試性可以用以下方式提昇: 需求的可測試性具有測試性的軟體需求需求要符合以下的條件: 相關條目參考資料
Information related to 軟體可測試性 |
Index:
pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve