最近反復(fù)被測(cè)試有用嗎?測(cè)試必須測(cè)試工程師完成嗎?為什么要做自動(dòng)化測(cè)試?自動(dòng)化測(cè)試的價(jià)值是什么?等等一系列的問(wèn)題不斷地拷問(wèn),索性就把這段時(shí)間的思考記錄下來(lái)了。
軟件測(cè)試的必要性
在混沌初開(kāi)之際,軟件開(kāi)發(fā)和軟件測(cè)試還是一個(gè)角色獨(dú)立完成的一個(gè)事情,后來(lái)伴隨著軟件工程的發(fā)展,開(kāi)發(fā)和測(cè)試逐漸的分開(kāi),那么隨著工程化的逐漸深入,研發(fā)運(yùn)營(yíng)一體化的高速發(fā)展,軟件測(cè)試是否還需要單獨(dú)存在這樣的討論時(shí)不時(shí)的就會(huì)出現(xiàn)在各大團(tuán)隊(duì)內(nèi)部的會(huì)議上。軟件測(cè)試是不是存在其實(shí)蘊(yùn)含著兩方面,一方面是測(cè)試工作的獨(dú)立存在,一部分是測(cè)試工程師的存在。相信說(shuō)到這里很多人第一反應(yīng)就是測(cè)試工程師必須存在,為什么呢?因?yàn)槌鰡?wèn)題了要有人背鍋。其實(shí)并不盡然,我們先從測(cè)試工作存在的必要性開(kāi)始聊起,測(cè)試工程師存在的必然性也就順理成章了。
美國(guó)質(zhì)量管理大師克勞士比(Philip Crosby)提出質(zhì)量成本(Cost of quality-COQ)是指為了防止出現(xiàn)錯(cuò)誤以及產(chǎn)生錯(cuò)誤而引起的一切費(fèi)用。假定你要提供一種優(yōu)質(zhì)的產(chǎn)品或服務(wù)給你的顧客,質(zhì)量成本是指你因?yàn)椴荒艿谝淮伪阕龊?Doing the right thing the first time)而產(chǎn)生的所有有關(guān)成本。質(zhì)量成本通常包括三方面: 預(yù)防成本(Prevention cost)、鑒定成本(Appraisal cost)及失效成本(Failure cost),而失效成本又可分為內(nèi)部的成本(Internal cost)和外部的成本(External cost)三者加起來(lái)就是所謂質(zhì)量成本(Cost of qualit)。
我們引用質(zhì)量成本的概念,在軟件開(kāi)發(fā)過(guò)程中如果沒(méi)有測(cè)試實(shí)踐,那么軟件的缺陷就會(huì)導(dǎo)致類(lèi)似傳統(tǒng)工業(yè)一樣問(wèn)題,顧客會(huì)反饋“問(wèn)題“,團(tuán)隊(duì)要付出努力找到問(wèn)題,并修復(fù)問(wèn)題,在這個(gè)過(guò)程中開(kāi)發(fā)團(tuán)隊(duì)付出了鑒定成本,企業(yè)也因?yàn)橛绊懥丝蛻?hù)的使用而需要付出更多的成本重新獲得客戶(hù)信任。測(cè)試工作就在系統(tǒng)交付給客戶(hù)之前用科學(xué)的方法設(shè)計(jì)測(cè)試用例并進(jìn)行邏輯驗(yàn)證,將問(wèn)題提早暴露、提早解決的方法,讓問(wèn)題不會(huì)暴露在最終用戶(hù)面前,因此賺取了額外付出挽回用戶(hù)信任的成本,同時(shí)在產(chǎn)品沒(méi)有直接交付到客戶(hù)側(cè)前就進(jìn)行了修復(fù),也大大降低了鑒定成本和修復(fù)成本。
講清楚測(cè)試的價(jià)值其實(shí)可以從測(cè)試過(guò)程發(fā)現(xiàn)的缺陷將其,相比大家都有為缺陷分類(lèi)分級(jí)的經(jīng)驗(yàn),那么我們一般都會(huì)按照缺陷的嚴(yán)重程度來(lái)劃分缺陷,大部分會(huì)是致命缺陷、嚴(yán)重缺陷、一般缺陷、建議缺陷,那么這些實(shí)際代表的是如果這個(gè)缺陷交付到了客戶(hù)面前我們付出的質(zhì)量成本的高低,越嚴(yán)重的缺陷付出的質(zhì)量成本就越高,就越應(yīng)該在交付過(guò)程中解決掉,將其用內(nèi)部成本的代價(jià)付出代替外部成本損失。
測(cè)試工程師存在的必然性
軟件測(cè)試這個(gè)過(guò)程的實(shí)施主體就是測(cè)試工程師。那么多少個(gè)測(cè)試工程師比較合適呢,或者換句話(huà)說(shuō)如上的事情必須要測(cè)試工程師完成嗎?開(kāi)發(fā)工程師不能完成如上的工作嗎?(這里就不包含技術(shù)成熟度非常優(yōu)秀的團(tuán)隊(duì),我們還是說(shuō)絕大部分團(tuán)隊(duì)的現(xiàn)狀)。這里其實(shí)要強(qiáng)調(diào)開(kāi)發(fā)工程師不能做全部的測(cè)試工作,”自我檢查類(lèi)“的單元測(cè)試還是需要自己完成的。我覺(jué)得”自己不能測(cè)試自己的代碼“是每一個(gè)軟件從業(yè)者都聽(tīng)說(shuō)過(guò)的至理名言了,那么為什么不能自己測(cè)試自己的代碼呢?這是有關(guān)于一個(gè)人類(lèi)心理學(xué)的一個(gè)“自我偏見(jiàn)”和“選擇性注意力”的問(wèn)題。當(dāng)我們欣賞自己的作品時(shí),我們會(huì)注意到它們的優(yōu)點(diǎn),而忽略它們的缺點(diǎn)。這是因?yàn)槲覀円呀?jīng)知道了我們的作品的背景和意圖,因此我們會(huì)更容易地看到它們的優(yōu)點(diǎn)。這種現(xiàn)象被稱(chēng)為“選擇性注意力”。選擇性注意力是人類(lèi)注意特征之一。個(gè)人不可能同時(shí)注意所有呈現(xiàn)的刺激,總是有選擇地注意某一刺激而忽視同時(shí)呈現(xiàn)的其他多種刺激。例如,課堂上的學(xué)生不可能、也不應(yīng)該對(duì)作用于他們視覺(jué)和聽(tīng)覺(jué)的刺激都作出反應(yīng),正常情況下只是集中注意教師的講授或演示。選擇性注意所指向的對(duì)象是受個(gè)體原有認(rèn)知結(jié)構(gòu)影響的,因此注意過(guò)程是一個(gè)主動(dòng)的過(guò)程。同時(shí),我們的作品通常是基于我們自己的想法和創(chuàng)意,因此,我們會(huì)對(duì)它們產(chǎn)生情感上的依戀。這種依戀可能會(huì)導(dǎo)致我們對(duì)自己的作品產(chǎn)生偏見(jiàn),使我們認(rèn)為它們比它們實(shí)際上更好。這種現(xiàn)象被稱(chēng)為“自我偏見(jiàn)”。
如果開(kāi)發(fā)工程師不適合做全部的軟件測(cè)試,那么最終用戶(hù)相比就更不適合了,否則就會(huì)引起前面所說(shuō)的質(zhì)量成本。測(cè)試工程師作為發(fā)現(xiàn)問(wèn)題,避免付出質(zhì)量成本的主要角色還是有他存在的必要的。站在整體的視角,通過(guò)最終用戶(hù)的視角完成測(cè)試驗(yàn)證,也會(huì)避免如上的“自我偏見(jiàn)”和“選擇性注意力”,說(shuō)白了就是測(cè)試工程師可以避免開(kāi)發(fā)工程師的“燈下黑”。
服務(wù)于質(zhì)量需求的軟件測(cè)試
軟件測(cè)試和質(zhì)量的關(guān)系其實(shí)就如同軟件開(kāi)發(fā)和業(yè)務(wù)需求的關(guān)系一樣,開(kāi)發(fā)工程師通過(guò)編碼交付業(yè)務(wù)需求,測(cè)試工程師通過(guò)測(cè)試交付質(zhì)量需求。
這里的質(zhì)量需求有些可能是客戶(hù)顯示的提出來(lái)的,有些是隱藏在交付軟件的質(zhì)量特性里而需要被交付的。無(wú)論是哪一種,質(zhì)量需求最終都應(yīng)該可以追溯到客戶(hù)的需求中的。所以系統(tǒng)的質(zhì)量需求也是不完全一致的,有些系統(tǒng)被應(yīng)用在財(cái)務(wù)、款項(xiàng)相關(guān)的業(yè)務(wù)中,那么數(shù)據(jù)的準(zhǔn)確性的要求就非常重要,1分錢(qián)的錯(cuò)誤都有可能出現(xiàn)謬之千里的問(wèn)題;有些系統(tǒng)被應(yīng)用在不同的移動(dòng)設(shè)備中,需要用戶(hù)自主學(xué)習(xí),那么兼容性和易學(xué)習(xí)性就應(yīng)該更加的關(guān)注。除去最終服務(wù)的行業(yè)、用戶(hù)以及行業(yè)相關(guān)監(jiān)管要求決定了質(zhì)量需求之外,系統(tǒng)的成熟度應(yīng)該也是影響質(zhì)量需求的一個(gè)關(guān)鍵因素,初創(chuàng)期的系統(tǒng)、快速開(kāi)發(fā)交付的系統(tǒng),穩(wěn)定交付的系統(tǒng)和被替換的系統(tǒng),每一個(gè)階段的系統(tǒng)對(duì)于質(zhì)量的需求應(yīng)該都是不一樣的,所以也應(yīng)該有不一樣的測(cè)試實(shí)施方案。
站在質(zhì)量需求的輸入角度,可以分成“無(wú)”質(zhì)量需求、不清晰的質(zhì)量需求、關(guān)鍵要素的質(zhì)量需求以及全面的質(zhì)量需求,其實(shí)這么分無(wú)非就是為了說(shuō)清楚什么樣的系統(tǒng)應(yīng)該怎么投入測(cè)試,叫什么名字只是一個(gè)代號(hào)。
“無(wú)”質(zhì)量需求往往是在項(xiàng)目的被替換期,項(xiàng)目逐漸的退出歷史舞臺(tái),處于被其他業(yè)務(wù)替換或者不再使用,從而有很少的變更甚至沒(méi)有變更,大部分是系統(tǒng)的可用性維護(hù)上,這個(gè)階段不會(huì)有任何明確的質(zhì)量需求被驗(yàn)證,往往維護(hù)可用性就已經(jīng)足夠了,這種項(xiàng)目不需要測(cè)試實(shí)踐保證質(zhì)量,測(cè)試工程師只是在需要的時(shí)候使用原有的測(cè)試用例(如果有自動(dòng)化用例就充分利用自動(dòng)化用例)完成測(cè)試實(shí)踐,同時(shí)參與的測(cè)試工程師要負(fù)責(zé)再次發(fā)揮價(jià)值的測(cè)試用例是有效的和和當(dāng)前系統(tǒng)是一致的。
不清晰的質(zhì)量需求是在項(xiàng)目的初創(chuàng)期出現(xiàn)的,其中初創(chuàng)期主要是驗(yàn)證想法、最小化驗(yàn)證交付可行性,這里主要只站在商業(yè)價(jià)值角度的實(shí)驗(yàn),通過(guò)快速交付、快速驗(yàn)證能夠?qū)I(yè)務(wù)的想法最小之間周期進(jìn)行驗(yàn)證,那么這個(gè)時(shí)候,往往沒(méi)有明確的質(zhì)量需求,潛在的一些質(zhì)量需求在項(xiàng)目交付過(guò)程中也不會(huì)特別明顯的被提及,測(cè)試工程師應(yīng)該在團(tuán)隊(duì)中保證功能交付的正確性,這個(gè)時(shí)期的質(zhì)量需求重點(diǎn)就是功能性,那么測(cè)試工程師主要以手工測(cè)試為主,選擇一種測(cè)試用例管理辦法,記錄測(cè)試用例資產(chǎn),就足以滿(mǎn)足當(dāng)前的質(zhì)量保證要求了。
關(guān)鍵要素的質(zhì)量需求是指系統(tǒng)在快速的交付期,需求大量積壓,系統(tǒng)交付的過(guò)程中并沒(méi)有明確的質(zhì)量需求需要測(cè)試過(guò)程交付,保證需求的正確性是唯一一個(gè)被所有人注重的測(cè)試內(nèi)容,兼顧行業(yè)監(jiān)管要求。這個(gè)時(shí)候測(cè)試實(shí)踐也并不推薦使用大量的自動(dòng)化測(cè)試,使用手工測(cè)試完成最終的驗(yàn)收階段的功能驗(yàn)證是這個(gè)時(shí)期最為重要的內(nèi)容,少量非功能由于手工實(shí)現(xiàn)的成本非常高,通過(guò)一些工具或者自動(dòng)化技術(shù)完成。
全面的質(zhì)量需求是指系統(tǒng)已經(jīng)進(jìn)入了穩(wěn)定的交付周期,有固定的交付周期,需求無(wú)明顯積壓,團(tuán)隊(duì)保持相對(duì)穩(wěn)定的需求吞吐量,每個(gè)需求都有明確的質(zhì)量需求,質(zhì)量需求既有產(chǎn)品經(jīng)理分析的,也有最終用戶(hù)實(shí)際提出的,還有依據(jù)測(cè)試工程師的經(jīng)驗(yàn)在需求質(zhì)量保證過(guò)程中提出來(lái)的。測(cè)試工程師在這個(gè)階段應(yīng)該維護(hù)大量的自動(dòng)化測(cè)試用例,少量的新業(yè)務(wù)有一些手工測(cè)試,大量的自動(dòng)化測(cè)試用例全面保證了系統(tǒng)的質(zhì)量,保證了系統(tǒng)功能的正確性,非功能測(cè)試也進(jìn)行了全面的實(shí)際,測(cè)試工程師也有時(shí)間,有條件嘗試測(cè)試左移、右移的實(shí)踐。
如上僅僅是通過(guò)系統(tǒng)成熟度角度分析了什么情況怎么投入測(cè)試,這肯定不是唯一的分析問(wèn)題的角度,其實(shí)這僅僅是一種思路,如果團(tuán)隊(duì)技術(shù)成熟度非常優(yōu)秀,那么測(cè)試工程師有可能就不存在,測(cè)試活動(dòng)(這里還是需要一個(gè)科學(xué)的驅(qū)動(dòng)開(kāi)發(fā)方式,例如TDD)全靠開(kāi)發(fā)角色一個(gè)人承擔(dān),那么上面的一大堆的內(nèi)容就沒(méi)什么必要了。
審核編輯:黃飛
-
自動(dòng)化測(cè)試
+關(guān)注
關(guān)注
0文章
236瀏覽量
27336 -
軟件測(cè)試
+關(guān)注
關(guān)注
2文章
239瀏覽量
19218 -
測(cè)試工程師
+關(guān)注
關(guān)注
6文章
125瀏覽量
12740
原文標(biāo)題:軟件測(cè)試是質(zhì)量需求的交付實(shí)踐
文章出處:【微信號(hào):TestinChina,微信公眾號(hào):Testin云測(cè)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
是德示波器MSOX3054T遠(yuǎn)程控制自動(dòng)化測(cè)試

一個(gè)優(yōu)秀的射頻測(cè)試工程師需要具備哪些技能?

TH2822系列LCR測(cè)試儀的自動(dòng)化測(cè)試

大功率ATE測(cè)試系統(tǒng)解決方案

矢量信號(hào)發(fā)生器在工業(yè)自動(dòng)化測(cè)試中的應(yīng)用場(chǎng)景
醫(yī)療器械質(zhì)量保障新引擎:宏控UTP自動(dòng)化測(cè)試系統(tǒng)
通用自動(dòng)化測(cè)試軟件 - TAE

串口屏自動(dòng)化測(cè)試
桌面式車(chē)載網(wǎng)絡(luò)自動(dòng)化測(cè)試系統(tǒng)TESTBASE-DESKNAT

探索Playwright:前端自動(dòng)化測(cè)試的新紀(jì)元
一款國(guó)產(chǎn)適用于自動(dòng)化測(cè)試產(chǎn)線(xiàn)的模塊化連接器

開(kāi)關(guān)電源自動(dòng)化測(cè)試設(shè)備:如何實(shí)現(xiàn)自動(dòng)化測(cè)試?

XLT高速線(xiàn)纜自動(dòng)化測(cè)試系統(tǒng)
ATECLOUD智能云測(cè)試平臺(tái)推動(dòng)自動(dòng)化測(cè)試發(fā)展

電源管理芯片輸出端的紋波自動(dòng)化測(cè)試方法

評(píng)論