您的位置:軟件測(cè)試 >> 測(cè)試技術(shù) >> 測(cè)試精品文章
更好的測(cè)試用例設(shè)計(jì)
作者:Nicolaas Kotze(澤眾軟件原創(chuàng)翻譯) 發(fā)布時(shí)間:[ 2014/5/6 13:46:45 ] 推薦標(biāo)簽:測(cè)試用例設(shè)計(jì) 測(cè)試設(shè)計(jì)技術(shù)
  Nicolaas Kotze是一個(gè)有著離奇扭曲幽默感(這種幽默感諷刺地與墨菲定律及對(duì)詳細(xì)解釋質(zhì)量是如何被感知的人類行為的理解很好結(jié)合了起來(lái))的自信的現(xiàn)實(shí)主義悲觀者。他在英國(guó)倫敦時(shí)開(kāi)始接觸游戲行業(yè)的測(cè)試,并頭冠不少AAA級(jí)稱號(hào)。
  他的測(cè)試職業(yè)生涯正式開(kāi)始于回到南非測(cè)試(使用用來(lái)自荷蘭客戶公共服務(wù)交付領(lǐng)域的谷歌地圖的)GIS軟件系統(tǒng),再后來(lái)他轉(zhuǎn)移到繁忙的零售信貸和金融服務(wù)業(yè)。他選擇測(cè)試為職業(yè)道路是因?yàn)樗谷藗兡軌驅(qū)?chuàng)造性思維融入常規(guī)程序或規(guī)定中,且仍有“打破”東西的令人振奮的快感。測(cè)試與許多其他學(xué)科和專業(yè)交織在一起這件事是:主要驅(qū)動(dòng)力讓事情一直有趣且充滿挑戰(zhàn)。
  目前他擔(dān)任動(dòng)態(tài)可視化技術(shù)( DVT)開(kāi)普敦的一名SQA的Competency 領(lǐng)導(dǎo)的職責(zé)是:將其熱情和精力投入指導(dǎo),激勵(lì),幫助,并使人們了解測(cè)試及改進(jìn)更有效測(cè)試流程的好處。已經(jīng)從正在打印取得了經(jīng)驗(yàn),數(shù)碼影像制作/銷售/支持/培訓(xùn)/,及在接觸測(cè)試前成為一名辦公自動(dòng)化領(lǐng)域的技術(shù)人員賦予他技巧去理解挫敗人們的問(wèn)題及能有效支持人們所需要的。
  欲了解更多詳情,可以訪問(wèn)za.linkedin.com/in/nicolaasjkotze查看他的LinkedIn個(gè)人資料。
 

 

  很多測(cè)試用例設(shè)計(jì)很少或根本不費(fèi)什么力(只需搜索我們社交媒體上的所有建議),但設(shè)計(jì)好的測(cè)試用例是復(fù)雜且極具挑戰(zhàn)性的。為設(shè)計(jì)好的測(cè)試提供資源這一點(diǎn)往往很容易被對(duì)編寫和執(zhí)行測(cè)試不負(fù)責(zé)的人所忽視。更不要說(shuō)為獲得足夠的使我們能夠衡量我們測(cè)試工作成效的報(bào)告需要了解哪些信息了。然后還需要有可以定義(或有時(shí)甚至強(qiáng)制執(zhí)行)所需測(cè)試的組織,開(kāi)發(fā)團(tuán)隊(duì),測(cè)試團(tuán)隊(duì),流程及工具。搜索討論板時(shí),很多人在上面尋找通用解決辦法的并不意外。
  互聯(lián)網(wǎng)上和書中有足夠多的信息介紹:如何分析需求,應(yīng)用測(cè)試設(shè)計(jì)技術(shù),并將它們實(shí)施和執(zhí)行。我建議去看看Cem Kaner寫于2003年的題為《什么是好的測(cè)試用例?》的一份簡(jiǎn)短卻詳細(xì)的研究報(bào)告。它引用一大堆參考文獻(xiàn),提供了充足的信息讓你能基本了解。
  在這篇簡(jiǎn)短的文章中,我不會(huì)解釋如何應(yīng)用測(cè)試技術(shù),而會(huì)分享信息作為需要考慮的因素的入門指南,使我們能夠設(shè)計(jì)出好的測(cè)試,我希望我能為讀者創(chuàng)造一個(gè)分享他們經(jīng)驗(yàn)的平臺(tái)。這里的內(nèi)容是基于我的解決呈現(xiàn)在我面前的挑戰(zhàn)的測(cè)試經(jīng)驗(yàn)。我也是假設(shè)讀者有一些正式的測(cè)試經(jīng)驗(yàn)且已對(duì)測(cè)試設(shè)計(jì)技術(shù)有了理解才寫的這篇文章。
  在閱讀這篇文章時(shí),我不斷查閱測(cè)試設(shè)計(jì)的高層次目標(biāo)和因素:
  1. 合并測(cè)試分析中定義的執(zhí)行狀態(tài)。
  2. 建立特定輸入。
  3. 根據(jù)輸入和規(guī)范定義預(yù)期結(jié)果。

  和一些基本因素:
  1. 覆蓋范圍。
  2. 有效性。
  3. 彈性和維護(hù)。
  4. 執(zhí)行者的技能。

 

  我們遇到的影響設(shè)計(jì)出好測(cè)試的第一個(gè)挑戰(zhàn)是使每個(gè)人都了解測(cè)試原則。
  ISEB / ISTQB
  軟件測(cè)試基礎(chǔ)突出七項(xiàng)原則。這些原則提醒我們并降低(一些)成員對(duì)有時(shí)會(huì)超出我們控制的各種挑戰(zhàn)的期望。解釋并使參與的每個(gè)人都了解到這些原則將導(dǎo)致現(xiàn)實(shí)的結(jié)果和一個(gè)更愉快的合作環(huán)境。
  1 .測(cè)試將顯示出缺陷的存在。開(kāi)始設(shè)計(jì)更多將顯示缺陷的測(cè)試。 “幸福路徑”應(yīng)該會(huì)起作用,當(dāng)然,除非你質(zhì)疑交付測(cè)試的代碼質(zhì)量。
  2 . 許多情況下都不可能測(cè)試一切。建議使用風(fēng)險(xiǎn)分析并優(yōu)先關(guān)注測(cè)試工作的重點(diǎn)。接受一個(gè)事實(shí):沒(méi)有一個(gè)各種組合和排列的測(cè)試會(huì)降低壓力水平和期望。有時(shí)候會(huì)錯(cuò)過(guò)一些事。如果你想要20個(gè)測(cè)試,好設(shè)計(jì)100個(gè)測(cè)試,再?gòu)闹刑暨x出好的20個(gè) 。
  3. 開(kāi)發(fā)生命周期中盡可能早地開(kāi)始測(cè)試活動(dòng)。別以為測(cè)試只是一旦產(chǎn)品可執(zhí)行時(shí)用來(lái)確認(rèn)和驗(yàn)證產(chǎn)品的功能的。相比后來(lái)在SDLC這樣做,在驗(yàn)收前正在審核要求時(shí)設(shè)計(jì)測(cè)試,比起在SDLC中晚點(diǎn)這么做,可以獲得很高的投資回報(bào)率。
  4.缺陷很集中。測(cè)試執(zhí)行后不要停止設(shè)計(jì)新測(cè)試。如果時(shí)間夠的話,審查被排除在(與在其中新發(fā)現(xiàn)的缺陷被確定的組成部分相關(guān)的)初范圍外的測(cè)試集合中的一些測(cè)試。
  5.在某些時(shí)候,系統(tǒng)會(huì)對(duì)被多次反復(fù)的測(cè)試“免疫”。再次強(qiáng)調(diào),在設(shè)計(jì)好的測(cè)試停止尋找缺陷后不要停止設(shè)計(jì)新測(cè)試。審查被排除在初范圍外的測(cè)試集合,或者利用更多測(cè)試技巧拓寬缺陷類型。
  6.你如何設(shè)計(jì)測(cè)試受到正在開(kāi)發(fā)的系統(tǒng)的環(huán)境和業(yè)務(wù)領(lǐng)域的形式影響。不是每個(gè)人都在建橋梁。此外,根據(jù)測(cè)試水平去設(shè)計(jì)測(cè)試。
  7.如果你曾經(jīng)用代碼設(shè)計(jì)了很多測(cè)試,后來(lái)實(shí)現(xiàn)了代碼并不能解決用戶的需求和期望,那一刻像在經(jīng)歷一次史詩(shī)級(jí)的失敗。如果規(guī)范欠缺,根據(jù)用戶期望系統(tǒng)如何工作以及它將如何滿足他們的需要去考慮設(shè)計(jì)測(cè)試。不要依賴代碼作為規(guī)范的來(lái)源。
 

   第二個(gè)挑戰(zhàn)是確定測(cè)試什么,為何要測(cè)試,以及如何測(cè)試。
  在團(tuán)隊(duì)中或和不明白測(cè)試目的和目標(biāo)的人一起工作時(shí),這變得非常具有挑戰(zhàn)性的(有時(shí)候爭(zhēng)權(quán)奪利的)。開(kāi)發(fā)生命周期及利益相關(guān)者和團(tuán)隊(duì)的成熟度或許會(huì)成為在設(shè)計(jì)好測(cè)試時(shí)有創(chuàng)意的主要障礙。確定測(cè)試的內(nèi)容要在分析需求時(shí)提出正確問(wèn)題。根據(jù)我的經(jīng)驗(yàn),將這些問(wèn)題基于ISO / IEC 25010:20113標(biāo)準(zhǔn)文檔中所提到作為一個(gè)起點(diǎn)的軟件質(zhì)量特點(diǎn)是正確方向上邁出的一步。我覺(jué)得把這些特性包括問(wèn)題中是一種非常有效的收集信息并闡明規(guī)格(尤其是與敏捷團(tuán)隊(duì)合作時(shí)),因?yàn)樗峁┝艘粋(gè)機(jī)會(huì)來(lái)定義超出原所有者認(rèn)為的需求細(xì)節(jié)。他們也許之前沒(méi)有專家?guī)椭_定可測(cè)試的細(xì)節(jié)。試著預(yù)測(cè)使用這些高水平質(zhì)量特點(diǎn)時(shí)可能出現(xiàn)的客戶需求和經(jīng)驗(yàn)方面的問(wèn)題:
  1. 功能
  2. 可靠性
  3. 可用性
  4. 效率
  5. 可維護(hù)性
  6. 便攜性
  這些高水平特點(diǎn)有子特點(diǎn),如:精度,性能,可變性,可安裝性等等,F(xiàn)在,你應(yīng)該能夠根據(jù)計(jì)劃,預(yù)算和可用資源去選擇合適的測(cè)試技術(shù)了。
  我認(rèn)為軟件開(kāi)發(fā)中不常被提到的一個(gè)特點(diǎn)是可測(cè)試性。如果你曾經(jīng)設(shè)計(jì)過(guò)電子電路和組件,那么你會(huì)明白DFT (為可測(cè)試性而設(shè)計(jì))的驚人效益,或當(dāng)工程師把BIST (內(nèi)建自測(cè)試)包含到他們的設(shè)計(jì)能力中時(shí)。許多軟件產(chǎn)品是以一種非常耗時(shí)的,容易出錯(cuò)的且很難測(cè)試方式設(shè)計(jì)的。
  理論上,DFT將在設(shè)計(jì)階段從測(cè)試專家考慮輸入,以便早早地設(shè)計(jì)出更好地測(cè)試。可測(cè)試性的一個(gè)簡(jiǎn)單的例子是,如果配置設(shè)置被存儲(chǔ)在數(shù)據(jù)庫(kù)中,但它僅在系統(tǒng)啟動(dòng)時(shí)加載。在某些環(huán)境中執(zhí)行重啟可能挺麻煩?蓽y(cè)試性將通過(guò)輕擊開(kāi)關(guān)或點(diǎn)擊按鈕來(lái)實(shí)現(xiàn)配置設(shè)置的動(dòng)態(tài)重載。通過(guò)詢問(wèn)“我們?nèi)绾螠y(cè)試,間隔多久需要回歸一次呢?”開(kāi)始測(cè)試性的討論。團(tuán)隊(duì)成員更頻繁地考慮簡(jiǎn)單性和自動(dòng)化是非常令人興奮的。研究為一般軟件設(shè)計(jì)問(wèn)題提供指導(dǎo)及技巧以幫助發(fā)現(xiàn)問(wèn)題的測(cè)試模式是有益處的。“我們長(zhǎng)期辛苦去打造一個(gè)天堂,結(jié)果卻發(fā)現(xiàn)它填充了恐怖。 ”——選自Alan Moore的《守望者》
 

  第三,測(cè)試內(nèi)容需是明確且“可測(cè)量的”。
  這可能并不占設(shè)計(jì)測(cè)試多大部分,測(cè)試過(guò)程中需被測(cè)量的內(nèi)容及測(cè)試過(guò)程的測(cè)試控制活動(dòng)有望被定義。測(cè)試像團(tuán)隊(duì)的照明燈。測(cè)試活動(dòng)應(yīng)該指導(dǎo)團(tuán)隊(duì)使他們能夠避開(kāi)障礙。奇怪的是,這是后一件需要考慮的事。所以,我只是想把它作為一個(gè)提醒。在某些時(shí)候,你會(huì)想提供反饋,例如:
  1. 測(cè)試工作。
  2. 改進(jìn)測(cè)試重點(diǎn)。
  3. 向別人證明一些事。
  4. 提高覆蓋率和技術(shù)。
  看一個(gè)測(cè)試用例需要什么信息的良好的開(kāi)端是讀取IEEE 8292標(biāo)準(zhǔn)文件。從這里你可以排除那些從長(zhǎng)遠(yuǎn)看來(lái)無(wú)關(guān)緊要的項(xiàng)目,或根據(jù)需要添加更多項(xiàng)目。確定需要什么樣的報(bào)告,然后尋找能夠盡快產(chǎn)生這些報(bào)告的佳工具。不幸的是,測(cè)試往往是非常依賴工具來(lái)處理大量信息,但工具也可能對(duì)測(cè)試形式有影響,并需要流程去確保信息準(zhǔn)確。(你是否曾經(jīng)被要求“調(diào)整”數(shù)據(jù),掩蓋報(bào)告中“無(wú)效”數(shù)據(jù),或收到過(guò)了一份其結(jié)果不穩(wěn)定到甚至斯蒂芬•霍金都站起來(lái)含淚走出房間的報(bào)告?)記得用和審查代碼一樣的方式經(jīng)常檢查測(cè)試。這樣能持續(xù)改進(jìn)。我希望這篇短短的文章為提供了一些理論或?qū)嵺`指導(dǎo)并引起對(duì)設(shè)計(jì)好測(cè)試用例的討論。

  參考文獻(xiàn)
  [1] ISTQB Foundation Level in Software Testing Syllabus 2011 (URL: http://www.istqb.org/downloads/syllabi/foundation-levelsyllabus. html)
  [2] IEEE829 Standard for Software and System Test Documentation (URL: http://standards.ieee.org/findstds/standard/829-2008.html)
  [3] ISO25010 Systems and Software Engineering (URL: http://www. iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics. htm?csnumber=35733)
  [4] Testing Object-Oriented Systems: Models, Patterns, and Tools by Robert Binder; ISBN-10: 0201809389 | ISBN-13: 978-0201809381
  [5] The Craft of Software Testing by Brian Marick; ISBN-10: 0131774115 | ISBN-13: 978-0131774117

  版權(quán)聲明:本文出自 SPASVO澤眾軟件測(cè)試網(wǎng):http://www.misscakediy.com/news/html/201456140230.html

  原創(chuàng)作品,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明本文原始出處、作者信息和本聲明,否則將追究法律責(zé)任。

軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd