軟件測試管理經(jīng)驗(yàn)談

軟件測試管理經(jīng)驗(yàn)談

某甲問道:「測試做太多的話,會不會使得bug解不完嚼贡?」

某乙回答:「還不簡單熏纯。只要不做測試,就沒有bug粤策≌晾剑」

上述對話,反應(yīng)出許多軟件工作人員對于測試的想法叮盘。對多數(shù)軟件開發(fā)人員而言秩贰,測試大概是僅次于維護(hù)之外,最令人討厭的工作柔吼。對軟件研發(fā)主管來說毒费,測試是必要之惡:做得不夠后患無窮,做得過多又增加成本愈魏,延誤商機(jī)觅玻。因此,如何能夠規(guī)畫與執(zhí)行一個(gè)最經(jīng)濟(jì)有效的測試工作培漏,當(dāng)是軟件研發(fā)主管們須研究的一個(gè)課題溪厘。

軟件測試的困難,在于它不僅是產(chǎn)品的測試牌柄,更是產(chǎn)品設(shè)計(jì)程序的檢驗(yàn)畸悬。由于關(guān)乎設(shè)計(jì)的測試,準(zhǔn)則不易尋找友鼻,經(jīng)驗(yàn)未必得以再用傻昙,他山之石也有應(yīng)用的局限性,因此難度頗高彩扔。欲提高測試的效益妆档,有賴全盤的規(guī)畫,確實(shí)的執(zhí)行虫碉,與事后的檢討改進(jìn)動作贾惦。許多小型軟件研發(fā)單位,對于軟件測試并不重視敦捧,但從許多稍具規(guī)模的軟件公司均配置常設(shè)測試人員须板,乃至于測試品保部門來看,測試工作顯然有其學(xué)問與價(jià)值的兢卵。

測試工作沒有最佳方法可依循习瑰,是因?yàn)椴煌能浖璧臏y試手段不同。譬如小型軟件與大型系統(tǒng)的做法不同秽荤;訂制軟件與軟件包的要求不同甜奄;系統(tǒng)軟件的測試往往無法采用應(yīng)用軟件所使用的技巧柠横;游戲軟件與庫存系統(tǒng)有其各自需面對的測試標(biāo)的。因此课兄,測試人員必須因應(yīng)軟件的特性與資源的限制牍氛,加上過去相關(guān)的經(jīng)驗(yàn),規(guī)畫最適合的測試方式烟阐。并隨著經(jīng)驗(yàn)的累積搬俊,不斷改進(jìn)作法,才能找出最佳的測試方法蜒茄。

由此可知唉擂,要做好有效的測試,不只是埋頭苦干而已扩淀,它需要良好的管理楔敌,使整件工作獲致最佳的成果。關(guān)于測試的管理工作驻谆,可從組織、規(guī)畫庆聘、執(zhí)行與檢討幾個(gè)角度來探討胜臊。以下謹(jǐn)就筆者粗淺的經(jīng)驗(yàn)野人獻(xiàn)曝一番,希望提供讀者基本的協(xié)助伙判。

1)測試組織之設(shè)計(jì)

由于人性總自認(rèn)為自己的最好最正確象对,完全由軟件開發(fā)人員兼任測試人員,并不值得推薦宴抚。實(shí)務(wù)上往往因軟件開發(fā)單位的經(jīng)濟(jì)規(guī)模不夠勒魔,使得開發(fā)人員經(jīng)常兼任測試人員。但若可行菇曲,研發(fā)單位應(yīng)盡可能配置專任的測試人員冠绢,尤其是獨(dú)立于開發(fā)小組之外的測試負(fù)責(zé)人員。盡管是否應(yīng)設(shè)置獨(dú)立測試小組業(yè)界仍有爭議常潮,許多人甚至以為保障軟件品質(zhì)唯有從改進(jìn)軟件開發(fā)的程序做起弟胀,但大部份美國的軟件公司均設(shè)有獨(dú)立測試或品保人員乃至于部門,這說明了獨(dú)立測試仍有其不可搖撼的地位喊式。

許多的軟件研發(fā)單位將測試視為次等的工作孵户,從而配置次等人員負(fù)責(zé)相關(guān)工作。如此一來岔留,優(yōu)秀人員無從參與夏哭,也缺乏意愿參與測試工作。結(jié)果軟件品質(zhì)不易度量献联,研發(fā)的成果常常被不佳的品質(zhì)抵銷竖配,實(shí)為令軟件開發(fā)人員泄氣之事厕吉。主管是否能體認(rèn)到軟件測試的重要性,通常是成功的關(guān)鍵械念。軟件測試固然是支持性工作头朱,仍應(yīng)配置合理的資源,以獲取整體之成效龄减。在當(dāng)前的環(huán)境下项钮,給予測試人員較多的關(guān)注,毋寧是必要的作法希停。

2)測試工作規(guī)劃

測試工作的規(guī)劃烁巫,至少包含兩項(xiàng)要點(diǎn):測試目標(biāo)的訂定與測試資源的配置。攻擊需要目標(biāo)宠能,測試亦然亚隙。測試的目的在于找出軟件的問題,提供改進(jìn)之參考违崇。目標(biāo)若不明阿弃,測試人員即不知如何著手。

測試目標(biāo)的訂定羞延,最重要的在于軟件通過的準(zhǔn)則渣淳,亦即測試何時(shí)方可結(jié)束。常見的情形是:軟件開發(fā)的進(jìn)度不斷落后伴箩,最后剩余的時(shí)間僅有兩個(gè)星期入愧,于是測試人員的目標(biāo)就是把最后兩周用完,盡人事聽天命嗤谚。究竟測試多完整棺蛛,隱藏的多少錯(cuò)誤,測試工作的生產(chǎn)力如何巩步?皆一概不知旁赊。反正產(chǎn)品賣出去或上線后有的是時(shí)間改進(jìn)。然而產(chǎn)品銷售后再改進(jìn)渗钉,成本往往大幅增高彤恶,甚至原有開發(fā)人員離職他調(diào),連亡羊補(bǔ)牢都倍感困難鳄橘。經(jīng)驗(yàn)一再顯示声离,事前的測試除錯(cuò)絕對比事后維護(hù)省時(shí)省錢,唯有賣不出去或不能用的軟件例外瘫怜。

對于測試的要求可簡單區(qū)分為二:一種是通過目標(biāo)所訂之軟件品質(zhì)术徊;一種是在既定資源內(nèi)達(dá)到最佳成效。前者要求山頭一定要攻下鲸湃,不達(dá)目的絕不停止赠涮。譬如目標(biāo)為單位測試時(shí)間的錯(cuò)誤發(fā)現(xiàn)率須低于某數(shù)字子寓,若超過了就得延長測試。此種方式適用于品質(zhì)要求較高的軟件笋除。至于后者則是上市時(shí)間已宣布斜友,無法更改者,其目標(biāo)著重于鏟除最嚴(yán)重的錯(cuò)誤垃它。此種測試較著重測試的準(zhǔn)備鲜屏、經(jīng)常對測試執(zhí)行與除錯(cuò)設(shè)定時(shí)限與數(shù)量要求,其中最容易遵循的準(zhǔn)則即為:重要功能永遠(yuǎn)先測国拇。這兩類測試的需求不同洛史,足以影響到測試的計(jì)劃、測試的順序與關(guān)心的重點(diǎn)酱吝。讀者不可不察也殖。

至于測試資源配置適當(dāng)性,則是評估測試目標(biāo)能否達(dá)成的重要參考指標(biāo)务热。測試人員需要合理的測試資源忆嗜,譬如要求總研發(fā)人力的20%以上∩孪埃總時(shí)程的1/3以上霎褐。人力不足,測試流于形式该镣,時(shí)程過短,找到錯(cuò)誤也來不及除錯(cuò)响谓,均不可取损合。除了測試在研發(fā)的比重,也需注意測試工作本身在規(guī)畫管理娘纷、規(guī)格個(gè)案訂定嫁审、測試執(zhí)行、回歸測試赖晶、訓(xùn)練準(zhǔn)備工作的人力分配律适。人員的訓(xùn)練與設(shè)備的安排尤其容易輕忽,需加以注意遏插。不同階段測試的資源配置捂贿,也必須加以考量,如此可避免測試集中于功能測試胳嘲,忽略系統(tǒng)測試厂僧。這些工作的適切安排,有助于協(xié)助測試工作時(shí)時(shí)都執(zhí)行最重要了牛,也最有效的測試颜屠。

3)測試執(zhí)行與管理

測試工作執(zhí)行在管理上辰妙,首先需使測試與開發(fā)人員了解輕重緩急。測試人員常常不考慮測試的效果甫窟,而只依照測試的方便性來進(jìn)行測試密浑。譬如軟件有十大模塊,每一模塊有50個(gè)測試個(gè)案粗井,于是他從第一個(gè)模塊的第一個(gè)個(gè)案開始測尔破,測完一整個(gè)模塊,再進(jìn)行第二個(gè)模塊的測試背传,執(zhí)行全部完成或無法進(jìn)行為止呆瞻。事實(shí)上,測試應(yīng)從重要且常用的項(xiàng)目測起径玖。

開發(fā)人員的除錯(cuò)痴脾,則往往從好改的改起。于是100個(gè)錯(cuò)誤改了90個(gè)梳星,系統(tǒng)主要的缺陷仍為克服赞赖。測試管理人員需特別注意此事,確保測試工作的效率冤灾。

進(jìn)行測試管理的好處在于隨時(shí)可掌握狀況前域,并因應(yīng)需求及時(shí)調(diào)整測試策略。譬如測試一段時(shí)間后韵吨,發(fā)現(xiàn)某子系統(tǒng)的問題特別多匿垄,即可調(diào)整人力,增強(qiáng)該部份的測試归粉〈涣疲或是某些人的測試績效較差,則可調(diào)整工作之分配糠悼,以求整體效果届榄。當(dāng)然,這些數(shù)據(jù)的取得有賴相關(guān)信息的搜集倔喂,包括數(shù)量與時(shí)間之信息铝条。如果可行,可記錄不同測試工作耗用的人力時(shí)數(shù)席噩,計(jì)算耗用成本班缰,以便未來進(jìn)行測試規(guī)劃時(shí)擁有更精確的參考數(shù)據(jù)。

進(jìn)行相關(guān)資料的統(tǒng)計(jì)與分析班挖,最好運(yùn)用工具來幫忙鲁捏,以節(jié)省人力并增進(jìn)效果。如果市面已有的測試管理工具符合需求,也可徑行采用给梅。測試結(jié)果的統(tǒng)計(jì)資料假丧,不妨公布在大家的眼前,使得測試成果可為大家了解动羽,亦能促進(jìn)工作同仁求取更佳的成績包帚。附圖所顯示為一簡單的統(tǒng)計(jì)圖表,顯示每周的測試成果运吓、除錯(cuò)成果渴邦,與產(chǎn)品殘存的問題量,可協(xié)助主管決定測試終止及發(fā)行產(chǎn)品的時(shí)間拘哨。

4)測試結(jié)果分析與改進(jìn)

當(dāng)(階段)測試結(jié)束后谋梭,測試管理人員可以進(jìn)行測試成果的分析。有關(guān)預(yù)定目標(biāo)與實(shí)際執(zhí)行結(jié)果的差異倦青,可作為下一版軟件測試檢討改進(jìn)的依據(jù)瓮床。譬如預(yù)定開立的測試個(gè)案數(shù)是否達(dá)成目標(biāo),執(zhí)行與通過數(shù)是否可接受产镐?投入的測試甚至除錯(cuò)人力是否足夠隘庄?均可視狀況計(jì)算依標(biāo)準(zhǔn)工作量,作為未來執(zhí)行測試工作之預(yù)估標(biāo)準(zhǔn)癣亚。經(jīng)由分析軟件錯(cuò)誤的生命周期丑掺,可以研究縮短的方法,例如加速除錯(cuò)與重測周期述雾,或在分析設(shè)計(jì)階段減少錯(cuò)誤發(fā)生的機(jī)率街州,以縮短測試時(shí)程。

由測試結(jié)果可分析出不同測試的效益玻孟,與應(yīng)改進(jìn)之處菇肃。以下表為例。單元測試耗用大部份的人力取募,可能使整合與系統(tǒng)測試不完全。再以發(fā)現(xiàn)的錯(cuò)誤數(shù)觀之蟆技,整合測試發(fā)現(xiàn)一個(gè)錯(cuò)誤的成本遠(yuǎn)低于另兩項(xiàng)玩敏。由此可見在有限的人力時(shí)間下測試,單元測試做得太多质礼,整合測試又太少旺聚。此意謂著對于單元測試所需耗用的人力資源過度樂觀,或是在測試工作的配置不盡理想眶蕉,應(yīng)予改進(jìn)砰粹。

測試人力時(shí)數(shù) 測試人力分布比率 錯(cuò)誤個(gè)數(shù) 錯(cuò)誤分布比率 平均時(shí)數(shù)/錯(cuò)誤數(shù)
單元測試 227.104 58.6% 49 39.51% 4.635
整合測試 87.212 23.3% 54 43.55% 1.615
系統(tǒng)測試 70.184 18.1% 21 16.94% 3.342

合計(jì) 384.5 100% 124 100% 3.2

除了以上的測試成效分析。如行有余力時(shí)應(yīng)再對錯(cuò)誤發(fā)生的原因加以分析造挽,力求從問題的根源加以解決碱璃。這包含測試工作的改進(jìn)與開發(fā)工作的流程改進(jìn)弄痹。以前者而言,可考慮對測試人員施以較充分的訓(xùn)練嵌器,避免測試工作因準(zhǔn)備不周浪費(fèi)寶貴的人力與時(shí)間肛真。測試標(biāo)準(zhǔn)程序的建立,也有助于測試工作效率的提升爽航。至于后者蚓让,可由錯(cuò)誤發(fā)生的原因研究預(yù)防之道。例如對需求變更未確實(shí)記載讥珍,導(dǎo)致設(shè)計(jì)錯(cuò)誤的問題發(fā)生历极,或是軟件的設(shè)計(jì)未加充分的考慮再撰寫程序,導(dǎo)致設(shè)計(jì)不良造成的大量錯(cuò)誤衷佃,均應(yīng)加以預(yù)防趟卸,如此可望從根本解決軟件的問題。

結(jié)語

欲提升軟件品質(zhì)與生產(chǎn)力纲酗,得先掌握現(xiàn)況衰腌。測試工作既是必要之惡,就需擬定最好的方法來面對觅赊。有關(guān)軟件測試方法論的書籍文章為數(shù)固然不少右蕊,在應(yīng)用上仍須因應(yīng)自身的情形加以調(diào)整。品管大師戴明認(rèn)為:獲得好品質(zhì)不能靠檢驗(yàn)吮螺,而是來自改善工作流程饶囚。因此,測試工作只是一項(xiàng)起步鸠补。如何藉由測試工作萝风,了解改善軟件品質(zhì)與生產(chǎn)力之道,才是我們追求的目標(biāo)紫岩。愿祝各位軟件品質(zhì)的捍衛(wèi)者规惰,在工作崗位順利前進(jìn),為測試工作贏得榮耀泉蝌,更為你們的成功產(chǎn)品喝采歇万。

本文轉(zhuǎn)自網(wǎng)絡(luò)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市勋陪,隨后出現(xiàn)的幾起案子贪磺,更是在濱河造成了極大的恐慌,老刑警劉巖诅愚,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寒锚,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)刹前,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門瞬铸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來椅棺,“玉大人,你說我怎么就攤上這事』κ铮” “怎么了记某?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵密任,是天一觀的道長毅厚。 經(jīng)常有香客問我,道長过咬,這世上最難降的妖魔是什么大渤? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮掸绞,結(jié)果婚禮上泵三,老公的妹妹穿的比我還像新娘。我一直安慰自己衔掸,他們只是感情好烫幕,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著敞映,像睡著了一般较曼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上振愿,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天捷犹,我揣著相機(jī)與錄音,去河邊找鬼冕末。 笑死萍歉,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的档桃。 我是一名探鬼主播枪孩,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼藻肄!你這毒婦竟也來了销凑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤仅炊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后澎蛛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抚垄,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了呆馁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片桐经。...
    茶點(diǎn)故事閱讀 39,991評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖浙滤,靈堂內(nèi)的尸體忽然破棺而出阴挣,到底是詐尸還是另有隱情,我是刑警寧澤纺腊,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布畔咧,位于F島的核電站,受9級特大地震影響揖膜,放射性物質(zhì)發(fā)生泄漏誓沸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一壹粟、第九天 我趴在偏房一處隱蔽的房頂上張望拜隧。 院中可真熱鬧,春花似錦趁仙、人聲如沸洪添。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽干奢。三九已至,卻和暖如春坐儿,著一層夾襖步出監(jiān)牢的瞬間律胀,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工貌矿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留炭菌,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓逛漫,卻偏偏與公主長得像黑低,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子酌毡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 某甲問道:「測試做太多的話克握,會不會使得bug解不完?」 某乙回答:「還不簡單枷踏。只要不做測試菩暗,就沒有bug⌒袢洌」 上述...
    程序員的那點(diǎn)事閱讀 1,079評論 1 13
  • 專業(yè)考題類型管理運(yùn)行工作負(fù)責(zé)人一般作業(yè)考題內(nèi)容選項(xiàng)A選項(xiàng)B選項(xiàng)C選項(xiàng)D選項(xiàng)E選項(xiàng)F正確答案 變電單選GYSZ本規(guī)程...
    小白兔去釣魚閱讀 8,993評論 0 13
  • 1停团、你的測試職業(yè)發(fā)展是什么旷坦? 測試經(jīng)驗(yàn)越多,測試能力越高佑稠。所以我的職業(yè)發(fā)展是需要時(shí)間積累的秒梅,一步步向著高級測試工程...
    歐爾麥特fffff閱讀 4,643評論 1 41
  • 一、 軟件測試基本概念 1 bug的概念 bug類型:defect舌胶、fault捆蜀、problem、error… pr...
    三口一個(gè)瓜閱讀 3,683評論 0 12
  • 古人講幔嫂,不積跬步無以至千里辆它,不積小流無以成江海。周邊事物的發(fā)展變化婉烟,每個(gè)人的個(gè)人成長都是一個(gè)漸進(jìn)的過程娩井,看似突變,...
    LiveFuture閱讀 168評論 0 1