新聞中心
簡(jiǎn)介

軟件開(kāi)發(fā)和工程被視為非常年輕的職業(yè);但是,它們得到了廣泛應(yīng)用,并且正以比以往更快的速度增長(zhǎng)。在許多國(guó)家,軟件行業(yè)目前通常被視為經(jīng)濟(jì)增長(zhǎng)的主要支柱之一。軟件公司常常面臨著提供高質(zhì)量軟件的許多困難挑戰(zhàn),而他們也在竭盡所能地讓客戶滿意。
軟件質(zhì)量不可或缺
隨著軟件變成日常生活中不可或缺的一部分,對(duì)軟件的需求也明顯增長(zhǎng)。相應(yīng)地,高軟件質(zhì)量目前被視為是 “必須具備的” 而不是 “應(yīng)該具備的”。讓質(zhì)量保證團(tuán)隊(duì)從一開(kāi)始就參與到項(xiàng)目規(guī)劃和執(zhí)行中,這一點(diǎn)至關(guān)重要。然而,仍然有一些公司認(rèn)為軟件質(zhì)量只不過(guò)是測(cè)試人員在開(kāi)發(fā)生命周期結(jié)束時(shí)執(zhí)行的一項(xiàng)任務(wù)。
值得注意的是,軟件市場(chǎng)充斥著各種選擇,有眾多免費(fèi)、開(kāi)源的軟件存在。除此之外,客戶和最終用戶對(duì)他們購(gòu)買(mǎi)的軟件的質(zhì)量越來(lái)越看重。具有糟糕性能或低質(zhì)量用戶體驗(yàn)的應(yīng)用程序或企業(yè)系統(tǒng)將被淘汰,其他產(chǎn)品很容易取代它們的位置?,F(xiàn)在,以***的認(rèn)真態(tài)度關(guān)注其產(chǎn)品的質(zhì)量已成為軟件公司的使命。
自始至終都要考慮軟件質(zhì)量
對(duì)于將軟件 QA 濃縮到所有開(kāi)發(fā)任務(wù)完成后的測(cè)試階段的方法,它們的問(wèn)題在于:會(huì)給團(tuán)隊(duì)帶來(lái)巨大成本并將整個(gè)項(xiàng)目置于高風(fēng)險(xiǎn)之中。在測(cè)試階段,開(kāi)發(fā)人員竭盡全力確保他們的代碼具有極少的缺陷。然后測(cè)試人員努力揭示軟件中每個(gè)可能的缺陷,而經(jīng)理和客戶希望他們擁有適合向市場(chǎng)發(fā)布的軟件。
問(wèn)題在于:為什么許多軟件公司會(huì)堅(jiān)持促使開(kāi)發(fā)團(tuán)隊(duì)滿足嚴(yán)格的***期限,完成盡可能多的功能,卻毫不關(guān)心代碼質(zhì)量有多差,因而忽視了注入代碼內(nèi)的大量缺陷,犯下架構(gòu)錯(cuò)誤,以及忽略文檔?
倉(cāng)促的開(kāi)發(fā)可能會(huì)為團(tuán)隊(duì)節(jié)省片刻的時(shí)間,但是,如果有一些重大開(kāi)發(fā)問(wèn)題沒(méi)有從一開(kāi)始就考慮到,最終可能導(dǎo)致需要投入更多的時(shí)間。結(jié)果是浪費(fèi)了大量團(tuán)隊(duì)資源來(lái)修復(fù)和重新設(shè)計(jì)代碼,而不是將這些資源投入到更有用的事情上。軟件團(tuán)隊(duì)人員內(nèi)心里對(duì)整個(gè)始末一目了然,但面對(duì)著嘮叨的客戶、嚴(yán)格的銷(xiāo)售團(tuán)隊(duì),以及一些自我感覺(jué)編寫(xiě)了無(wú)缺陷的軟件的開(kāi)發(fā)人員,軟件團(tuán)隊(duì)確實(shí)很難將 QA 撇在一邊而只顧著完成代碼。
軟件工程標(biāo)準(zhǔn)和它們的使用
值得一提的是,公司既不需要一定要遵守某種軟件開(kāi)發(fā)標(biāo)準(zhǔn),也不需要有嚴(yán)格的流程。典型的軟件開(kāi)發(fā)生命周期 (SLDC) 有著各種不同的標(biāo)準(zhǔn),比如 IEEE、ISO – 12207 或 CMMI。這些標(biāo)準(zhǔn)的目標(biāo)是確保最終產(chǎn)品符合市場(chǎng)需求,達(dá)到最終用戶的滿意度。
事實(shí)上,每天都會(huì)許多軟件應(yīng)用程序、移動(dòng)應(yīng)用程序,甚至是完整的企業(yè)系統(tǒng)銷(xiāo)售給各種不同的客戶,這些應(yīng)用程序可能并未使用任何標(biāo)準(zhǔn)來(lái)開(kāi)發(fā)。但是,人們還是在購(gòu)買(mǎi)它們。忽略標(biāo)準(zhǔn)與糟糕的軟件質(zhì)量和對(duì)最終產(chǎn)品的更少需求沒(méi)有直接的關(guān)系(只要該軟件不是對(duì)生命至關(guān)重要的軟件,比如美國(guó)境內(nèi)需要 FDA 批準(zhǔn)和應(yīng)遵守某種標(biāo)準(zhǔn)的醫(yī)療軟件)。問(wèn)題不是遵守標(biāo)準(zhǔn)。真正的問(wèn)題在于忽略或減弱軟件質(zhì)量的重要性。
本文既不是說(shuō)要遵守 SDLC 標(biāo)準(zhǔn),也不是要擁有一個(gè)極好的開(kāi)發(fā)和測(cè)試流程。首先,重要的是認(rèn)識(shí)到質(zhì)量是任何軟件的一個(gè)重要組成部分。公司不一定需要高度專(zhuān)業(yè)的 QA 團(tuán)隊(duì)和實(shí)踐,但至少必須接受這種文化本身和擁有相關(guān)的實(shí)踐。
貫穿軟件開(kāi)發(fā)生命周期的軟件質(zhì)量實(shí)踐
這一節(jié)提供的實(shí)踐將對(duì)軟件質(zhì)量會(huì)產(chǎn)生積極影響,不會(huì)給開(kāi)發(fā)團(tuán)隊(duì)創(chuàng)造太多負(fù)擔(dān)或麻煩。在開(kāi)發(fā)和測(cè)試實(shí)踐中值得考慮它們。
需求審核
難道您不認(rèn)為,浪費(fèi)資源來(lái)交付錯(cuò)誤的功能確實(shí)很可怕?在開(kāi)始每個(gè)新開(kāi)發(fā)階段之前審核軟件需求,這樣做能夠***限度地減少缺陷并滿足客戶的需求。在實(shí)現(xiàn)之前審核需求,這樣做有助于考慮潛在的變化,克服在項(xiàng)目的整個(gè)壽命中可能發(fā)生的誤解。團(tuán)隊(duì)必須與客戶一起反復(fù)檢查所有應(yīng)實(shí)現(xiàn)的業(yè)務(wù)領(lǐng)域細(xì)節(jié)。需求審核也可以使用原型和領(lǐng)域模型來(lái)完成。當(dāng)開(kāi)發(fā)團(tuán)隊(duì)在開(kāi)始實(shí)際實(shí)現(xiàn)之前完成這個(gè)小任務(wù)時(shí),他們的項(xiàng)目或開(kāi)發(fā)迭代會(huì)獲得良好的開(kāi)局。通過(guò)確保在實(shí)現(xiàn)之前所有利益相關(guān)者都達(dá)成共識(shí),并且每位團(tuán)隊(duì)成員都意見(jiàn)一致,客戶和管理人員可確信開(kāi)發(fā)人員將在開(kāi)發(fā)周期結(jié)束時(shí)交付正確的成果。
代碼審核和演練
聽(tīng)起來(lái)像很簡(jiǎn)單,但代碼審核是軟件開(kāi)發(fā)中最有效的實(shí)踐之一。它對(duì)減少缺陷數(shù)量(在錯(cuò)誤進(jìn)入軟件之前在窗口中發(fā)現(xiàn)它)以及增強(qiáng)代碼和軟件設(shè)計(jì)的質(zhì)量具有直接影響。這消除了在未來(lái)的版本中執(zhí)行重大的代碼重構(gòu)和清理的需求。
依據(jù)項(xiàng)目需求和實(shí)現(xiàn)細(xì)節(jié),團(tuán)隊(duì)可能認(rèn)同簡(jiǎn)單的編碼和設(shè)計(jì)原則。團(tuán)隊(duì)成員應(yīng)共同遵守這些原則,而且只要開(kāi)發(fā)一項(xiàng)新功能,一個(gè)或多個(gè)團(tuán)隊(duì)成員(除了作者)應(yīng)審核新代碼,并搜索所有編碼或設(shè)計(jì)錯(cuò)誤。
這種做法可在許多方面為團(tuán)隊(duì)帶來(lái)幫助,包括提高代碼質(zhì)量和設(shè)計(jì),***限度地減少缺陷,并預(yù)防它們。另外,它還使得整個(gè)團(tuán)隊(duì)能夠深入了解彼此的工作,輕松移交工作,并提高團(tuán)隊(duì)對(duì)不同軟件組件和功能的認(rèn)知。團(tuán)隊(duì)協(xié)作驗(yàn)證和證明代碼的質(zhì)量和設(shè)計(jì)的實(shí)現(xiàn)方法。它們從同事那里獲得直接反饋。這么做可謂一舉兩得:代碼質(zhì)量增加了,團(tuán)隊(duì)的認(rèn)知和項(xiàng)目責(zé)任也增加了。
基于會(huì)議的測(cè)試
基于會(huì)議的測(cè)試(James Bach 發(fā)明的一種方法)表示將測(cè)試負(fù)載分解為會(huì)議,每個(gè)會(huì)議有一個(gè)任務(wù)(一種希望從測(cè)試會(huì)議獲得的明確規(guī)定的結(jié)果)。每個(gè)會(huì)議有一個(gè)既定的時(shí)間范圍(從 20 到 40 分鐘),測(cè)試人員在執(zhí)行測(cè)試會(huì)議期間不應(yīng)中斷。
這就像將測(cè)試人員放在一個(gè)測(cè)試房間一段時(shí)間,讓測(cè)試人員專(zhuān)注于查找特定軟件特性或功能的缺陷。在會(huì)議期間,測(cè)試由一組測(cè)試案例引導(dǎo)執(zhí)行,測(cè)試人員也可以執(zhí)行探索性測(cè)試。因此,基于會(huì)議的測(cè)試是正式測(cè)試方法與測(cè)試創(chuàng)新的一種組合,因?yàn)樗峁┝藴y(cè)試人員房間來(lái)進(jìn)行探索和獲得直覺(jué)思維,留出了時(shí)間和自由空間來(lái)發(fā)現(xiàn)不常見(jiàn)的缺陷,或者通過(guò)折騰軟件來(lái)進(jìn)一步了解它。
會(huì)議期間,測(cè)試人員應(yīng)將軟件的行為記錄在案,獲取快照,以及寫(xiě)下軟件在特定輸入和設(shè)置下的行為。會(huì)議結(jié)束時(shí),將與團(tuán)隊(duì)領(lǐng)導(dǎo)或技術(shù)經(jīng)理討論會(huì)議腳本。從他們的討論中,他們找出所認(rèn)為的正常行為和不正常行為,然后基于討論創(chuàng)建缺陷報(bào)告。
圖 1 簡(jiǎn)短描述了基于會(huì)議的測(cè)試。對(duì)于軟件中的任何新更改,計(jì)劃不同的測(cè)試會(huì)議,每個(gè)會(huì)議都有一個(gè)指定的目標(biāo)和任務(wù)。測(cè)試會(huì)議期間,測(cè)試人員使用測(cè)試案例和/或執(zhí)行探索性測(cè)試。測(cè)試會(huì)議結(jié)束時(shí),會(huì)報(bào)告在會(huì)議期間找到的缺陷。
圖 1. 基于會(huì)議的測(cè)試工作流
基于風(fēng)險(xiǎn)的測(cè)試
因?yàn)樵陂_(kāi)發(fā)流程中進(jìn)行了一些更改(主要的或次要的更改),開(kāi)發(fā)團(tuán)隊(duì)通常擁有同一個(gè)軟件的許多常用版本。一種重要的 QA 實(shí)踐是在每個(gè)主要版本之后徹底測(cè)試軟件。另一方面,在每個(gè)版本中都對(duì)整個(gè)軟件運(yùn)行全面的回歸測(cè)試既耗時(shí)又很難實(shí)現(xiàn)。但是,僅測(cè)試更改的功能或笨拙地刪減測(cè)試案例套件是不安全的。一段代碼可能解決了一個(gè)缺陷,但也可能破壞了代碼中的其他內(nèi)容。
基于風(fēng)險(xiǎn)的測(cè)試方法采用了折中方式。它的基本理念是按降序?qū)浖δ芎褪∧J脚判?,從最重要或風(fēng)險(xiǎn)***到值得擁有的功能和簡(jiǎn)單的風(fēng)險(xiǎn)(一個(gè)類(lèi)似工具是 FMEA:失敗模式和影響分析)。如果測(cè)試人員在嚴(yán)格的時(shí)間限制下測(cè)試某個(gè)新版本時(shí)手頭有這個(gè)列表,他就可以集中精力確保新引入的更改不會(huì)破壞其他任何內(nèi)容。然后就可以輕松地確保更改不會(huì)破壞軟件中的任何最重要的功能,因而不會(huì)發(fā)生任何最嚴(yán)重的風(fēng)險(xiǎn)。
結(jié)束語(yǔ)
每家公司都希望在充滿競(jìng)爭(zhēng)的 IT 市場(chǎng)中飛得更高,而且在努力創(chuàng)造人們喜歡的優(yōu)秀軟件。不幸的是,有時(shí)來(lái)自客戶或不耐煩的管理層的壓力可能導(dǎo)致團(tuán)隊(duì)繞開(kāi)軟件質(zhì)量實(shí)踐,最終實(shí)現(xiàn)一個(gè)低于預(yù)期的產(chǎn)品。糟糕的軟件質(zhì)量只有在它發(fā)生故障時(shí)才會(huì)被注意到。
本文中討論的實(shí)踐和方法貫穿整個(gè)開(kāi)發(fā)生命周期。它們涵蓋需求分析、設(shè)計(jì)和開(kāi)發(fā),以及測(cè)試階段。而且它們表明缺陷預(yù)防比在項(xiàng)目結(jié)束時(shí)再解決問(wèn)題要簡(jiǎn)單得多,在項(xiàng)目結(jié)束時(shí),更改帶來(lái)的技術(shù)人情債和成本將會(huì)很高。
本文突出了軟件質(zhì)量角色和重要性,以確證忽略軟件質(zhì)量可能?chē)?yán)重影響公司實(shí)現(xiàn)其業(yè)務(wù)目標(biāo)。另外,本文還為讀者介紹了一些更簡(jiǎn)單、更高效的實(shí)踐,它們不但為團(tuán)隊(duì)節(jié)省了時(shí)間、金錢(qián)和精力,還提升了產(chǎn)品的質(zhì)量。
網(wǎng)站欄目:軟件質(zhì)量挑戰(zhàn)和實(shí)踐建議
網(wǎng)頁(yè)網(wǎng)址:http://m.fisionsoft.com.cn/article/dpsggcc.html


咨詢
建站咨詢
