未雨绸缪:从软件测试到质量保证
【摘要】我們都遇到過這樣的情況:每次系統(tǒng)上線,幾十人,甚至幾百人的測試和開發(fā)團(tuán)隊(duì)都要提心吊膽的經(jīng)過若干個(gè)不眠之夜。從高層領(lǐng)導(dǎo)到技術(shù)人員、測試人員不停的想象著各種可能遇到的情況…
2005年11月1日,日本東京證券交易所股票交易系統(tǒng)發(fā)生大規(guī)模系統(tǒng)故障,導(dǎo)致所有股票交易全面告停,短短2個(gè)小時(shí)造成了上千億的損失。經(jīng)查明,故障的“元兇”是當(dāng)年10月為增強(qiáng)系統(tǒng)處理能力而更新的交易程序存在缺陷。
設(shè)想一下,當(dāng)一名大銀行老總,正在焦頭爛額地組織本行的IT系統(tǒng)建設(shè)工作,突然看到這樣的一條消息,會(huì)有什么樣的感覺?當(dāng)然首先會(huì)想到,如果自己新上線的系統(tǒng)也出現(xiàn)類似的故障,后果同樣是不堪設(shè)想的。所以,一個(gè)很自然的想法就會(huì)冒出來:對即將上線或已經(jīng)在運(yùn)營中的IT系統(tǒng)進(jìn)行一次全面體檢,保證系統(tǒng)健康上崗!
質(zhì)量危機(jī)
現(xiàn)實(shí)中,因IT系統(tǒng)質(zhì)量存在問題而導(dǎo)致的這樣或那樣的事故,在很多大型的金融、電信企業(yè)中時(shí)有發(fā)生。
我們都遇到過這樣的情況:每次系統(tǒng)上線,幾十人,甚至幾百人的測試和開發(fā)團(tuán)隊(duì)都要提心吊膽的經(jīng)過若干個(gè)不眠之夜。從高層領(lǐng)導(dǎo)到技術(shù)人員、測試人員不停的想象著各種可能遇到的情況:服務(wù)能否正常運(yùn)轉(zhuǎn);功能會(huì)不會(huì)存在問題;速度能否滿足用戶要求;移植過來的數(shù)據(jù)正確性如何,是否會(huì)影響業(yè)務(wù)導(dǎo)致客戶投訴……總算熬到安全上線,ATM機(jī)系統(tǒng)故障、Pose消費(fèi)終端沒有響應(yīng)、核心業(yè)務(wù)系統(tǒng)故障致使業(yè)務(wù)暫停等等一系列問題又會(huì)不時(shí)出現(xiàn),造成巨大的經(jīng)濟(jì)損失和惡劣的社會(huì)影響。質(zhì)量問題已經(jīng)成為企業(yè)IT系統(tǒng)主管心中難言的痛。
在激烈的市場競爭中,如果能在競爭對手前推出新的業(yè)務(wù),就能在競爭中爭取有利的位置。兵貴神速,新業(yè)務(wù)的推出速度越快越好。但同時(shí),如果新的業(yè)務(wù)沒有一個(gè)穩(wěn)定可靠的系統(tǒng)支撐的話,那么,輕則面臨大量的直接經(jīng)濟(jì)損失,包括對客戶的損失的賠償以及修正系統(tǒng)錯(cuò)誤的開銷,重則損失大量的開展新業(yè)務(wù),占領(lǐng)市場高度的時(shí)機(jī),直至聲譽(yù)下降,大量的客戶流失,一敗涂地。
避免IT系統(tǒng)質(zhì)量問題帶來的風(fēng)險(xiǎn),降低故障成本已經(jīng)刻不容緩。然而,中國質(zhì)量測試行業(yè)才剛剛起步,很多企業(yè)采用的測試方法和技術(shù)簡單而低效,如:組織大批的業(yè)務(wù)員,把以前做過的業(yè)務(wù)拿出來,在新的系統(tǒng)上重新跑一遍,發(fā)現(xiàn)錯(cuò)誤和隱患后,再和開發(fā)部門聯(lián)系進(jìn)行整改;當(dāng)有系統(tǒng)變動(dòng)就再組織大規(guī)模人力重復(fù)上面的工作,如此反復(fù)。然而,這樣的方法并不能解決實(shí)質(zhì)性問題,只能頭痛醫(yī)頭,腳痛醫(yī)腳,而且受很多因素限制,系統(tǒng)的質(zhì)量風(fēng)險(xiǎn)很難控制。一旦遇到測試人員業(yè)務(wù)不熟;人員長期反復(fù)工作產(chǎn)生疲勞倦怠情緒;或是系統(tǒng)有了較大變動(dòng),而第二天又要保證上線等等諸多狀況時(shí),IT系統(tǒng)的質(zhì)量風(fēng)險(xiǎn)會(huì)陷入不可控的境地。同時(shí),大型金融,電信企業(yè)的IT系統(tǒng)又是錯(cuò)綜復(fù)雜的。以下面的建設(shè)銀行總行IT系統(tǒng)為例。
建行已投產(chǎn)運(yùn)營的項(xiàng)目有十幾個(gè),包括銀行渠道平臺(tái)、網(wǎng)上銀行、綜合產(chǎn)品管理、客戶關(guān)系管理、信息總線項(xiàng)目等等;后續(xù)建設(shè)的項(xiàng)目,如企業(yè)資源計(jì)劃(ERP)、數(shù)據(jù)倉庫、信貸業(yè)務(wù)系統(tǒng)等約十多個(gè)。這些項(xiàng)目大都采用了國際國內(nèi)最先進(jìn)的技術(shù),技術(shù)構(gòu)成復(fù)雜而多樣性;而且很多項(xiàng)目在業(yè)務(wù)、技術(shù)架構(gòu)、物理部署和數(shù)據(jù)上都有很強(qiáng)的關(guān)聯(lián),構(gòu)成了一個(gè)龐大的、復(fù)雜的IT系統(tǒng)群集。未投產(chǎn)的項(xiàng)目需要進(jìn)行跨系統(tǒng)的集成測試和非功能性測試,并組織實(shí)施投產(chǎn)上線;已投產(chǎn)的項(xiàng)目要進(jìn)行系統(tǒng)調(diào)優(yōu)和未來的系統(tǒng)發(fā)展分析預(yù)測;同時(shí),項(xiàng)目還涉及到與大約20個(gè)總行級(jí)系統(tǒng)的聯(lián)調(diào)測試。這樣規(guī)模的IT系統(tǒng)質(zhì)量已經(jīng)不是上述的簡單測試方法能夠保證的。
這就需要專業(yè)的質(zhì)量測試團(tuán)隊(duì)來協(xié)助企業(yè)進(jìn)行IT系統(tǒng)全面的質(zhì)量保證和測試工作,從而降低質(zhì)量風(fēng)險(xiǎn),使IT系統(tǒng)更好的為業(yè)務(wù)提供支撐服務(wù)。
專業(yè)服務(wù)
要解決質(zhì)量問題,就必須把IT系統(tǒng)的質(zhì)量測試工作擺到重要位置。那么采用何種方式保證質(zhì)量?
如果客戶自己來做測評(píng),雖然也能發(fā)現(xiàn)一些問題,但局限于測評(píng)方面的專業(yè)知識(shí)和行業(yè)經(jīng)驗(yàn),不利于問題在開發(fā)方面的追蹤,協(xié)助開發(fā)人員進(jìn)行修正。如果開發(fā)人員自己來做的話,不僅缺乏豐富的測試經(jīng)驗(yàn),更重要的是,由于開發(fā)工作通常劃分比較細(xì)致,各部門各司其職,不利于從大局上對軟件的質(zhì)量進(jìn)行把握。而且,如果在開發(fā)的問題上雙方出現(xiàn)分歧的話,開發(fā)部門自己的質(zhì)量測試報(bào)告的效力就會(huì)打折扣。因此,對于大型IT項(xiàng)目而言,最好的辦法就是引入專業(yè)的第三方質(zhì)量測試機(jī)構(gòu),來保證過程和結(jié)果的客觀性和公正性。而且從測試技術(shù)和解決方案上,專業(yè)的質(zhì)量測試機(jī)構(gòu)也更先進(jìn)和全面,可以提供更為可靠的質(zhì)量保證。
在中國,專業(yè)的軟件測試服務(wù)目前尚處于起步階段,能提供大型項(xiàng)目質(zhì)量測試服務(wù)的機(jī)構(gòu)更是少之又少。專業(yè)化的質(zhì)量測試服務(wù)機(jī)構(gòu),必須具備下面三個(gè)條件:1、有先進(jìn)的、完整的軟件質(zhì)量測試管理理念;2、結(jié)合先進(jìn)的測試技術(shù)和工具,有一套完整的實(shí)用的質(zhì)量測試解決方案;3、擁有一批行業(yè)經(jīng)驗(yàn)豐富,測試水平高超,項(xiàng)目管理能力很強(qiáng)的咨詢實(shí)施團(tuán)隊(duì)。
具備這三個(gè)條件的神州數(shù)碼質(zhì)量測試事業(yè)部,敏銳地看到了這個(gè)市場商機(jī)。事業(yè)部前身是神州數(shù)碼ITS項(xiàng)目管理中心。多年的項(xiàng)目監(jiān)理、質(zhì)量保障和測試管理經(jīng)驗(yàn),讓其具備了深厚的專業(yè)功底,并建立了基于IT系統(tǒng)全生命周期的質(zhì)量測試解決方案。順應(yīng)市場的呼喚,2004年初,事業(yè)部正式成立開始走入質(zhì)量測試領(lǐng)域,為大型應(yīng)用系統(tǒng)提供來自第三方專業(yè)的咨詢實(shí)施服務(wù)。
建設(shè)銀行總行,十分注重自身的IT系統(tǒng)質(zhì)量,其信息化水平在業(yè)內(nèi)也屬于領(lǐng)先地位。他們采用的策略是針對重點(diǎn)系統(tǒng)進(jìn)行性能測試,驗(yàn)證各種系統(tǒng)在不同使用條件和壓力下的性能表現(xiàn),跟據(jù)性能測試進(jìn)行系統(tǒng)性能優(yōu)化,包括對用戶行為、硬件和軟件參數(shù)配置、數(shù)據(jù)庫和代碼的優(yōu)化。對軟件體系結(jié)構(gòu)方面的性能基準(zhǔn)測試和咨詢。從而確保系統(tǒng)在上線前后都無質(zhì)量問題。此外,在項(xiàng)目前期通過實(shí)施事業(yè)部提供的設(shè)備選型方案和技術(shù)架構(gòu)驗(yàn)證方案,采用科學(xué)化的技術(shù)手段和客觀的數(shù)字分析,來采購最適合的設(shè)備和最適宜業(yè)務(wù)特點(diǎn)的架構(gòu),避免了資金的浪費(fèi)和后期的開發(fā)風(fēng)險(xiǎn)。
事實(shí)證明,質(zhì)量測試是企業(yè)IT系統(tǒng)建設(shè)健康運(yùn)轉(zhuǎn)的必備手段。它需要由獨(dú)立在客戶與開發(fā)人員之外的專業(yè)機(jī)構(gòu),嚴(yán)格按照客戶的質(zhì)量需求,對IT系統(tǒng)的質(zhì)量進(jìn)行全生命周期的監(jiān)控。
如何判斷IT系統(tǒng)質(zhì)量是否存在問題?一般的評(píng)判標(biāo)準(zhǔn)包含以下幾個(gè)方面:1、功能,軟件的規(guī)范和滿足用戶需求的程度;2、性能,即軟件的運(yùn)行速度和消耗的資源;3、可靠性和安全性,在規(guī)定的時(shí)間和條件下,軟件所能維持其性能水平的程度;4、友好度,軟件的學(xué)習(xí)、理解和使用的方便程度;5、可維護(hù)性,當(dāng)運(yùn)行條件或者軟件本身發(fā)生故障的時(shí)候,對其進(jìn)行修正的困難程度。
系統(tǒng)能不能用,是用戶關(guān)心首要問題。這就需要功能測試,原則就是不能出錯(cuò)。系統(tǒng)是一個(gè)有機(jī)的整體,動(dòng)一指而牽全身。所以,一個(gè)細(xì)微功能的改變都有可能對系統(tǒng)的其它部分造成重大影響。比如,銀行最常見的業(yè)務(wù)是存、取款,如果因?yàn)樾碌墓δ芗尤?#xff0c;造成存、取款業(yè)務(wù)出現(xiàn)錯(cuò)誤,甚至無法完成的話,那么就需要對新加入的功能模塊進(jìn)行修正。針對大量的重復(fù)性功能測試,可以采用自動(dòng)化回歸測試方案,每天設(shè)定程序自動(dòng)執(zhí)行,從而減低人力成本,提供測試效率。
解決了系統(tǒng)是否能用問題,好不好用就提到了重要位置。也就是性能測試。如果系統(tǒng)不能在規(guī)定的時(shí)間內(nèi)做出正確響應(yīng)的話,就是根本無法投入使用的,再強(qiáng)的功能也只能是擺設(shè)。比如,春節(jié)時(shí)電話和短信的數(shù)據(jù)量會(huì)有一個(gè)爆炸性的增長。如果系統(tǒng)性能不過關(guān)的話,就會(huì)因?yàn)椴豢爸刎?fù)宣布罷工,這是電信供應(yīng)商和消費(fèi)者都不能接受的。性能測試,就是要找出對系統(tǒng)性能起著瓶頸式影響的各種因素并對其進(jìn)行優(yōu)化。
功能再強(qiáng),性能再好,但如果系統(tǒng)三天兩頭出故障,同樣也是不能接受的,所以需要進(jìn)行可靠性和安全性方面的測評(píng)。
而友好度和可維護(hù)性,都可以通過功能測試和針對性地專項(xiàng)測試來實(shí)現(xiàn)。
總之,IT系統(tǒng)質(zhì)量的幾個(gè)因素相互關(guān)聯(lián)。比如,功能的提升,可能會(huì)帶來可靠性和性能方面的問題。所以,質(zhì)量測試工作必須從全局的高度出發(fā),平衡各因素的影響,從而系統(tǒng)質(zhì)量能夠滿足用戶需求。
針對這點(diǎn),神州數(shù)碼質(zhì)量測試事業(yè)部與世界上著名的測試工具供應(yīng)商,美國Mercury公司在建立白金級(jí)戰(zhàn)略合作伙伴關(guān)系。雙方建立了研發(fā)級(jí)實(shí)驗(yàn)室,由Mercury公司提供培訓(xùn),事業(yè)部也依靠強(qiáng)大的研發(fā)能力為測試工具開發(fā)更為實(shí)用的功能插件。同時(shí),作為微軟在國內(nèi)的四個(gè)戰(zhàn)略合作伙伴之一,在測試外包、行業(yè)應(yīng)用測試、微軟平臺(tái)的開發(fā)等領(lǐng)域廣泛合作。致力于吸取國外先進(jìn)質(zhì)量測試?yán)砟詈图夹g(shù),更好的為行業(yè)客戶質(zhì)量保證工作盡自己的一份力量。
從被動(dòng)測試到主動(dòng)管理
然而,測試終究是被動(dòng)的查漏補(bǔ)缺,沒能從根本上解決質(zhì)量問題,實(shí)現(xiàn)標(biāo)本兼治。如果從IT系統(tǒng)生命周期的源頭做起,從過程上做起必然能大大提高軟件開發(fā)與應(yīng)用的效率,這就是質(zhì)量管理。即是從客戶的需求開始,主動(dòng)對IT系統(tǒng)生命周期的產(chǎn)生過程進(jìn)行質(zhì)量控制。
根據(jù)業(yè)界著名的“V”字型模型,每一項(xiàng)測試工作都與開發(fā)的經(jīng)過是一一對應(yīng)的。所以需要從需求開始,結(jié)合軟件質(zhì)量5個(gè)方面的層次需求,按照需求、設(shè)計(jì)、詳設(shè)、開發(fā)、測試的流程,對軟件的質(zhì)量進(jìn)行全生命周期的質(zhì)量管理,這樣,才可能把隱患減小到比較低的程度。比如需求,神碼質(zhì)量測試事業(yè)部總經(jīng)理單軍說“其實(shí),很多時(shí)候,像金融、電信類的大型企業(yè),他們自己困惑,為什么有的測試沒有效果?原因是,他們對自己的需求沒有明確。由于質(zhì)量測試的依據(jù)是客戶的業(yè)務(wù)和技術(shù)需求。需求不準(zhǔn)確的話,測試肯定會(huì)出問題。所以,我們提出了一個(gè)測試需求的概念。”
建設(shè)銀行總行,在質(zhì)量測試事業(yè)部的助力下,建立起一套有效的測試體系和管理流程,整合業(yè)界最先進(jìn)的測試管理工具,從測試需求的管理、測試分析設(shè)計(jì)、測試案例的設(shè)計(jì)、測試執(zhí)行、缺陷的管理和報(bào)告,確保使每一個(gè)需求,都保障得到有效的測試,每一次變更,都保障得到測試的覆蓋。對于自身大型IT項(xiàng)目,采用了事業(yè)部的測試管理、質(zhì)量保證方案;創(chuàng)新性地應(yīng)用了項(xiàng)目群架構(gòu)關(guān)聯(lián)密集型的測試管理思路,制定了多主線并發(fā)測試管理流程,以及目標(biāo)系統(tǒng)驅(qū)動(dòng)的管理模式,在實(shí)際運(yùn)作中取得了明顯成效,有效的控制了項(xiàng)目質(zhì)量風(fēng)險(xiǎn),使項(xiàng)目開發(fā)更加有的放矢,成果顯著。
所以,將質(zhì)量管理的理念滲透到IT系統(tǒng)的整個(gè)生命周期,是確保系統(tǒng)開發(fā)高效、質(zhì)量可靠的有效保證。
光明的藍(lán)海
經(jīng)過嚴(yán)格的質(zhì)量管理,苛刻的測試,拿到像神碼質(zhì)量測試事業(yè)部這樣專業(yè)機(jī)構(gòu)的質(zhì)量測試報(bào)告后,也就意味著IT系統(tǒng)在很大程度上是健康的。也許有的人會(huì)覺得事業(yè)部有今天的成就已經(jīng)很不錯(cuò),但事業(yè)部這支年輕團(tuán)隊(duì)的目標(biāo)更長遠(yuǎn)、更靠近客戶“金融、電信等高端行業(yè)的質(zhì)量測試業(yè)務(wù)個(gè)性很強(qiáng),滿足客戶個(gè)性化的質(zhì)量測試需求,提供更完善的、滿足整個(gè)IT系統(tǒng)生命周期的質(zhì)量測試服務(wù),才是我們的目標(biāo)。”總經(jīng)理單軍說,“我們還要不斷努力,用更先進(jìn)解決方案和技術(shù),更貼心的服務(wù)為客戶創(chuàng)造最大化的價(jià)值,共同開創(chuàng)一片光明的藍(lán)海!”
“中國的軟件開發(fā)工作,在測試和質(zhì)量管理的方面,投入是很低的,這個(gè)數(shù)據(jù),在國外是30%—50%,要害部門的投入甚至達(dá)到了開發(fā)費(fèi)用3—5倍。我們要通過專業(yè)化的服務(wù),不斷的提升中國企業(yè)質(zhì)量測試意識(shí),真正的為更多的客戶提供幫助。”
路漫漫其修遠(yuǎn)兮,吾將上下而求索!
====================================分割線================================
最新內(nèi)容請見作者的GitHub頁:http://qaseven.github.io/
總結(jié)
以上是生活随笔為你收集整理的未雨绸缪:从软件测试到质量保证的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2017年哪些网络安全威胁不容忽视?
- 下一篇: m.2接口有几种(Etymology)