概念與思辨深度
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供西夏網(wǎng)站建設(shè)、西夏做網(wǎng)站、西夏網(wǎng)站設(shè)計(jì)、西夏網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、西夏企業(yè)網(wǎng)站模板建站服務(wù),十余年西夏做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
一個(gè)行業(yè)的發(fā)展似乎總伴隨著更多的概念被塑造出來。拿測(cè)試來說,我們有單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、回歸測(cè)試、冒煙測(cè)試,等等。我們緣何塑造如此多的概念來“為難”自己呢?答案可以用我從@李智勇SZ老師那學(xué)到的“概念越純粹表示思辨深度越深”這句話加以解釋,而這一切又為了提高同行間的溝通效率。需要特別指出的是,多個(gè)相似但不同的概念想表達(dá)的是各自的不同之處,而非共同之處。為此,如果人家在討論單元測(cè)試時(shí),你冒出一句“寫好程序,編譯完,跑一跑,看看寫得對(duì)不對(duì),這就是最簡(jiǎn)單的UT??!”就不大合適,因?yàn)檫@說明你根本沒有理解單元測(cè)試的概念(可以讀一下我寫的《明晰單元測(cè)試》一文)。如果你再加上一句“靠,都是測(cè)試,分那么清干什么?”,那還表明你邏輯不清。
我近期所寫的《對(duì)軟件測(cè)試團(tuán)隊(duì)“核心價(jià)值”的思考》一文引發(fā)了一些討論。比如,@朱少民老師(后面簡(jiǎn)稱朱老師)指出:“‘(文中所述測(cè)試)幫助開發(fā)人員提高其開發(fā)質(zhì)量和效率’是軟件測(cè)試團(tuán)隊(duì)的價(jià)值取向之一,但還不是軟件測(cè)試團(tuán)隊(duì)的主要核心價(jià)值“。于是我向朱老師請(qǐng)教他所理解的測(cè)試核心價(jià)值,得到的回復(fù)是“軟件測(cè)試最核心的價(jià)值還是能夠快速發(fā)現(xiàn)問題以提供產(chǎn)品的質(zhì)量反饋,有能力提供準(zhǔn)確的、客觀的、完整的質(zhì)量評(píng)估,并通過缺陷分析、用戶行為分析等,確定缺陷模式和開發(fā)人員不良行為、習(xí)慣等,幫助開發(fā)人員預(yù)防缺陷(從設(shè)計(jì)到編程、單元測(cè)試,不僅僅是設(shè)計(jì))”。
之后我的回復(fù)是,“我們應(yīng)將QA(Quality Assurance,質(zhì)量保證)與測(cè)試區(qū)分開來”,因?yàn)槲艺J(rèn)為朱老師將測(cè)試的范圍定義得太大了。但朱老師卻幫我指出“我這是地地道道的測(cè)試,看來你對(duì)QA理解不夠。QA的主要對(duì)象是(包括開發(fā)、測(cè)試)流程,QA人員評(píng)審、審計(jì)和改進(jìn)流程,以保證質(zhì)量。測(cè)試的對(duì)象是產(chǎn)品,包括階段性半成品。從嚴(yán)格意義看,測(cè)試就是對(duì)軟件產(chǎn)品的質(zhì)量評(píng)估”。
類似與QA和測(cè)試相關(guān)的討論發(fā)生在@左耳朵耗子老師寫了《我們需要專職的QA嗎?》一文之后。這些討論又為我們帶來了@程序員鄒欣老師寫的《測(cè)試QA的角色和分工》,以及@段念-段文韜老師寫的《對(duì)《我們需要專職QA嗎?》的回應(yīng)》。在本文我想順便談一談以前讀這些文章的看法。
誰對(duì)誰錯(cuò)?
如果讀過我所寫的《軟件開發(fā):個(gè)人與團(tuán)隊(duì)是永遠(yuǎn)的核心》一文的話,知道我給出了高質(zhì)高效軟件開發(fā)的一個(gè)效能模型。從模型所涵蓋的內(nèi)容來看,其范圍非常廣,包括行為、能力和方法三大支柱。某種程度上,我們?cè)谲浖袠I(yè)的職場(chǎng)旅程有點(diǎn)象是“盲人摸象”(但我們能溝通),這個(gè)摸索的過程與我們從事的軟件細(xì)分行業(yè)(如互聯(lián)網(wǎng)、通訊、銀行)、服務(wù)公司(如國(guó)企、外企、私企)、工種(如開發(fā)、測(cè)試)等都有著很直接的關(guān)系,所獲得的一種成功經(jīng)驗(yàn)很可能在另一種情形下根本行不通。摸索的過程很容易通過現(xiàn)實(shí)去理解書本上的東西,這不是壞事,但千萬不要以為所“眼見的”就是“宇宙真理”,也千萬別放棄自己的獨(dú)立思考。
存在爭(zhēng)議并不是壞事,我們之所以爭(zhēng)議,是因?yàn)槲覀冇兄煌某砷L(zhǎng)途徑和思考深度(年齡起著一定的作用)。爭(zhēng)議的焦點(diǎn)不是為了“你死我活”地相互“拉黑”,而應(yīng)最大可能地達(dá)成共識(shí)和完善自我認(rèn)識(shí)。所達(dá)成的共識(shí)越多就越是知道“象的模樣”,這對(duì)所有的從業(yè)人員都有意義。正因如此,作為技術(shù)人,我時(shí)常會(huì)告誡自己“多放下一點(diǎn)自大與自尊去接受別人的想法,這對(duì)于自己來說是一種很好的成長(zhǎng)途徑?!倍遥覍?duì)于自己所不熟悉的技術(shù)領(lǐng)域更多持敬畏而非否定態(tài)度。總的說來,誰對(duì)誰錯(cuò)并非爭(zhēng)論的關(guān)鍵,而是我們有哪些想法其實(shí)是相通或相同的、如何擺事實(shí)講邏輯地讓對(duì)方了解自己的想法。我希望每一位讀者都能理性對(duì)待所碰到的爭(zhēng)議,這算是一個(gè)小小的呼吁吧。
QA不包含測(cè)試
我認(rèn)為引起QA與測(cè)試相關(guān)的很多爭(zhēng)議出現(xiàn)在我們沒有明晰概念,或者有的概念太泛了容易導(dǎo)致問題。QA這個(gè)詞就是一個(gè)例子!
質(zhì)量保證很容易讓人想到與軟件質(zhì)量相關(guān)的方方面面,比如測(cè)試、流程、缺陷數(shù)據(jù)分析等。既然這樣,開發(fā)工程師的水平是不是也影響著軟件質(zhì)量呢?那人員的招聘為什么不由QA部門管,而是由HR和開發(fā)部門管?這個(gè)問題問得是不是很無厘頭?但這個(gè)問題也告訴我們,各種部門的職責(zé)定義其實(shí)并非由其名字表意所定,而是由公司根據(jù)組織架構(gòu)的需要指派的。既然如此,我們?cè)谑褂眠@些名詞時(shí),一定要根據(jù)職責(zé)加以展開,而不能依據(jù)名字意思本身,否則很容易因?yàn)椴划?dāng)言語而引發(fā)沒有價(jià)值的爭(zhēng)議。有些爭(zhēng)議甚至影響到了他人的“飯碗”了,你叫人如何理性?這間接地指出,我們的言語應(yīng)盡可能嚴(yán)謹(jǐn)。
如果QA不是測(cè)試,那它是干什么的?老實(shí)說,我不敢憑空給一個(gè)角色定義職責(zé),加上我并不是QA(與測(cè)試)方面的專家,在此只能以我曾經(jīng)服務(wù)過的Motorola公司為例說一說我的大致理解。簡(jiǎn)單說來,Motorola的QA是一個(gè)與測(cè)試部門完全獨(dú)立的部門,她關(guān)注二大事務(wù),一是缺陷數(shù)據(jù)分析與缺陷預(yù)防,二是流程規(guī)范與改善。QA會(huì)根據(jù)測(cè)試與開發(fā)兩大部門所產(chǎn)生的缺陷數(shù)據(jù)進(jìn)行數(shù)據(jù)分析(或叫數(shù)據(jù)挖掘吧),發(fā)現(xiàn)各產(chǎn)品的缺陷模型(常犯錯(cuò)誤、缺陷數(shù)趨勢(shì)等),通過模型去預(yù)測(cè)可能潛在的遺留缺陷,以幫助開發(fā)部門進(jìn)行改進(jìn)(最終作用于流程)。另外,QA會(huì)全程參與軟件開發(fā)活動(dòng)以跟蹤公司所制定流程的執(zhí)行情況。比如,以前我就職的Motorola杭州研發(fā)中心通過了TL9000認(rèn)證,QA必須確保開發(fā)活動(dòng)完全符合TL9000的要求,以免出現(xiàn)資質(zhì)復(fù)審時(shí)無法通過的狀況。
讀者請(qǐng)注意,我以Motorola公司為例去定義QA的職責(zé)就一定對(duì)嗎?未必!對(duì)于就職于一些測(cè)試隸屬于QA部門的同仁可能很難接受以上的定義。在這種情況下,我們需要思考的是,這個(gè)定義是否有助于我們更方便地溝通?如果定義有助于我們的溝通,則這種定義就是可取的,否則值得商榷。理性思考不能忘!
我們需要QA嗎?
如果問“我們需要測(cè)試嗎?”答案很清楚,不是嗎?那公司是依據(jù)什么決定是否需要一個(gè)工種的?很簡(jiǎn)單,不同的技能!
不少軟件公司需要通過象CMMI、ISO9000系列、TL9000等這樣的質(zhì)量體系認(rèn)證,并定期復(fù)審。這些質(zhì)量體系主張“質(zhì)量源于過程”,因此,一定需要有人為公司制定相應(yīng)的開發(fā)流程并監(jiān)督流程在公司的到位實(shí)施。流程驅(qū)動(dòng)研發(fā)的質(zhì)量意識(shí)是需要培養(yǎng)的,這就離不開象“Quality begins with me”這樣的培訓(xùn)。缺陷數(shù)據(jù)通過挖掘能幫助發(fā)現(xiàn)其他有價(jià)值的東西,這就需要相應(yīng)的數(shù)據(jù)建模與分析技能。
不難認(rèn)同,以上知識(shí)與相關(guān)技能不能由開發(fā)或測(cè)試團(tuán)隊(duì)的人去兼顧,因此我們需要獨(dú)立的QA部門。
QA部門的作用與重視程度在不同的行業(yè)完全不同。平均說來,互聯(lián)網(wǎng)行業(yè)的產(chǎn)品因?yàn)閷?duì)質(zhì)量問題具有更高的容忍度(大多互聯(lián)網(wǎng)產(chǎn)品直接上線,有問題可以直接回退),而非象通訊行業(yè)那樣得交由象中國(guó)移動(dòng)這樣的運(yùn)營(yíng)商去運(yùn)營(yíng),也不存在因質(zhì)量事故引發(fā)的第三方懲罰性費(fèi)用。另外,互聯(lián)網(wǎng)產(chǎn)品的用戶根本不關(guān)心產(chǎn)品開發(fā)過程是否遵循CMMI等質(zhì)量體系,這與通訊行業(yè)運(yùn)營(yíng)商對(duì)之可能有要求完全不同。我在《離開通訊業(yè)入職互聯(lián)網(wǎng)圈的一些感悟》一文中進(jìn)一步談到了兩個(gè)行業(yè)的不同。
至此,我希望讀者接受我將QA與測(cè)試兩個(gè)概念區(qū)分開的建議。
一點(diǎn)重申
無論使用何種天花亂綴的技法和理論,探尋測(cè)試團(tuán)隊(duì)核心價(jià)值時(shí)一定要打破測(cè)試與開發(fā)團(tuán)隊(duì)之間的心理博弈防線,否則沒有成功的可能。以我長(zhǎng)期在開發(fā)一線的經(jīng)歷,測(cè)試的價(jià)值困惑首先源于缺乏開發(fā)工程師對(duì)之的認(rèn)可,這是種心理感受問題,不是技術(shù)問題?!秾?duì)軟件測(cè)試團(tuán)隊(duì)“核心價(jià)值”的思考》雖沒有直接給出核心價(jià)值的定義,但給出了探索方向,希望值得我們共同思考。
測(cè)試工程師思考從開發(fā)工程師的“痛點(diǎn)”尋找突破口,或許能找到出路。當(dāng)然,要真從開發(fā)的“痛點(diǎn)”下手,測(cè)試團(tuán)隊(duì)必須有些“刷子”,否則只能游離在質(zhì)量與效率的邊緣。
對(duì)朱老師所言的回復(fù)
朱老師:軟件測(cè)試最核心的價(jià)值還是能夠快速發(fā)現(xiàn)問題以提供產(chǎn)品的質(zhì)量反饋,有能力提供準(zhǔn)確的、客觀的、完整的質(zhì)量評(píng)估,并通過缺陷分析、用戶行為分析等,確定缺陷模式和開發(fā)人員不良行為、習(xí)慣等,幫助開發(fā)人員預(yù)防缺陷(從設(shè)計(jì)到編程、單元測(cè)試,不僅僅是設(shè)計(jì))。
回復(fù):這個(gè)定義存在將測(cè)試與QA混為一談的問題。如果我是一名測(cè)試工程師,看到這樣的定義真的會(huì)嚇一跳,要求太高了。我認(rèn)為質(zhì)量度量很容易出現(xiàn)主觀現(xiàn)象,難以做到“1+1=2”這樣的真實(shí)。軟件質(zhì)量度量的目的不是為了“真實(shí)”了解軟件的質(zhì)量狀況,因?yàn)閳F(tuán)隊(duì)級(jí)的質(zhì)量無法直接度量,度量的目的是為了幫助開發(fā)團(tuán)隊(duì)找到改善點(diǎn)。軟件質(zhì)量管理應(yīng)重實(shí)踐、輕量化,以幫助工程師改善工作習(xí)慣和提升開發(fā)環(huán)境的效率為目標(biāo)。我欣賞朱老師身兼QA與測(cè)試雙重身份,但就測(cè)試核心價(jià)值的探討上,我希望能采納所提出的將QA與測(cè)試分開的建議。概念只有清晰了、輕量了,才不容易引起歧義,也更利于我們達(dá)成更多的共識(shí)和提高溝通效率。
朱老師:我這是地地道道的測(cè)試,看來你對(duì)QA理解不夠。QA的主要對(duì)象是(包括開發(fā)、測(cè)試)流程,QA人員評(píng)審、審計(jì)和改進(jìn)流程,以保證質(zhì)量。測(cè)試的對(duì)象是產(chǎn)品,包括階段性半成品。從嚴(yán)格意義看,測(cè)試就是對(duì)軟件產(chǎn)品的質(zhì)量評(píng)估。
回復(fù):第一話既講測(cè)試又講QA,很容易引起誤解。第二句與第三句的觀點(diǎn)我認(rèn)同。對(duì)于第四句,我的問題是“測(cè)試真能評(píng)估軟件質(zhì)量嗎?”
對(duì)《我們需要專職的QA嗎?》相關(guān)文章的看法
《我們需要專職的QA嗎?》這篇文章的論點(diǎn)是QA,但內(nèi)容其實(shí)談的是測(cè)試,文不對(duì)題引發(fā)沒有必要的爭(zhēng)議屬于情理之中。該文中還是有很多值得我們思考的觀點(diǎn),其中不足之處后面兩篇文章對(duì)之加以反駁了。
《測(cè)試QA的角色和分工》一文同樣存在將QA與測(cè)試混在一起討論的問題,但其中還是能看出QA與測(cè)試的痕跡。比如,其中談到了認(rèn)證。其對(duì)于分工的論述我很欣賞,也闡述了為什么需要專職測(cè)試人員。
《對(duì)《我們需要專職QA嗎?》的回應(yīng)》一文明確區(qū)別了QA和測(cè)試,且只關(guān)注于測(cè)試的討論。我與段老師有很多共識(shí),雖沒有聽過他的演講,但看過他一些分享主題的PPT,能從開發(fā)人員的角度找到共鳴點(diǎn)。注意文中的最后一句話,“測(cè)試和開發(fā)之間有更多配合,更多相親相愛,把測(cè)試當(dāng)成提高和推動(dòng)質(zhì)量的手段,不正應(yīng)該是測(cè)試的方向嗎?”
當(dāng)前文章:讓我們區(qū)分質(zhì)量保證與測(cè)試
鏈接地址:http://jinyejixie.com/article4/ggscoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、微信小程序、標(biāo)簽優(yōu)化、小程序開發(fā)、虛擬主機(jī)、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)