【讀書筆記】《探索式軟件測試》——附錄2:JW的專業(yè)博客摘錄(下)

? ? 繼續(xù)附錄2的下半篇...

? ? 4.三擊不中出局,是新的打擊手上場的時候了

? ? 20世紀早期,軟件質(zhì)量的問題顯而易見,為了糾正這些問題,提出了多種方法,如下:

? ? 1)正式方法

? ? 正式方法是一個很好的想法。本質(zhì)上,它將電腦編程等同于解決一個數(shù)學(xué)問題。但首先,軟件開發(fā)人員不會使用它們。其次,使用正式方法的人仍然會寫出有很多缺陷的代碼。

? ? 2)工具

? ? 工具在很大程度上能減輕軟件開發(fā)任務(wù)的痛苦,但是它們不能保證零缺陷。工具在使用正確時很有幫助,但是它們很難掌握而且功能有限。還有,它們自己有缺陷。

? ? 3)流程改進

? ? 最新的關(guān)于控制軟件質(zhì)量問題的嘗試是由流程改進的提倡者開始的。因為軟件開發(fā)是一個技術(shù)問題而流程? 改進卻是一個管理問題,所以它不大可能對質(zhì)量產(chǎn)生多大的影響。

? ? 因此,需要第四種提案,它應(yīng)該很平常,這樣開發(fā)人員可以將其無縫集成到它們正常的設(shè)計模式;它應(yīng)該很直觀,這樣開發(fā)人員會評價它“簡單,不難做嘛!”

? ? 5.軟件測試是藝術(shù)、技巧或?qū)W科?

? ? ?最適合軟件測試書籍的標題應(yīng)該是軟件測試學(xué)(Discipline of Software Testing)?!皩W(xué)科”這個詞能更好地定義我們作為測試人員的工作,并為我們提供一個有用的訓(xùn)練和職業(yè)模式的模型。掌握一門學(xué)科是通過訓(xùn)練來實現(xiàn)的。訓(xùn)練的意思是理解學(xué)科的每一個細節(jié)。

? ? 每個人在訓(xùn)練時應(yīng)該注意:首先,精通軟件測試的測試人員應(yīng)該理解軟件;第二,精通軟件測試的測試人員應(yīng)該理解軟件故障;第三,精通軟件測試的測試人員應(yīng)該理解軟件失效。

? ? 6.恢復(fù)對軟件行業(yè)的尊重

? ? 我們充滿缺陷的軟件創(chuàng)造了多少新的單詞:垃圾郵件、網(wǎng)絡(luò)釣魚、域名欺騙等。

? ? 1)事與愿違的過去

? ? 過去,軟件開發(fā)實踐的重點一直被放在Spec、體系結(jié)構(gòu)和開發(fā)上,它們都位于軟件開發(fā)生命周期的早期部分,因為“質(zhì)量不是測試來的”。最后,我們發(fā)現(xiàn)這種流程失效了,事實上,需求經(jīng)常變化,導(dǎo)致計劃趕不上變化。

? ? 2)尋找更好的方法

? ? 我們學(xué)習(xí)失敗以創(chuàng)建新的開發(fā)流程,我提議停止將缺陷當作一件壞事。因為沒有比直接研究那些使我們的行業(yè)成為工程學(xué)科中笑柄的東西更好的改進方法了。

? ? 3)分析安全漏洞和質(zhì)量問題的流程

? ? 我覺得應(yīng)該做如下的事情:

? ? 第一步,收集我們發(fā)布給用戶的所有缺陷(特別是安全漏洞)

? ? 第二步,分析每一個缺陷,這樣我們可以做到:停止寫出類似的缺陷;更擅長尋找類似的缺陷;明白類似的缺陷發(fā)生時,如何識別它們。

? ? 第三步,在團隊中培養(yǎng)這樣一種文化,每個開發(fā)人員、測試人員或技術(shù)人員都理解我們曾寫過的每一個缺陷。

? ? 第四步,將學(xué)到的內(nèi)容整理成文檔,它也是創(chuàng)建新的方法集的基礎(chǔ),這些方法可以預(yù)防我們再犯那些最糟糕的錯誤。

? ? 可通過質(zhì)問自己寫過的缺陷來完成上述工作:

? ? a)一開始是什么錯誤導(dǎo)致了這個缺陷?

? ? 這個問題的答案將教會開發(fā)人員更好地理解他們在寫代碼時犯下的錯誤。理解錯誤后,開發(fā)小組內(nèi)部形成一套系統(tǒng)知識,這樣進入測試階段的軟件質(zhì)量更高。

? ? b)出現(xiàn)什么樣的失效癥狀時,能警示我們現(xiàn)在存在這個缺陷?

? ? 一般缺陷出現(xiàn)可能由于某種原因沒能被發(fā)現(xiàn),或者被發(fā)現(xiàn)了卻有意不修復(fù)。前者,測試人員可建立起一套關(guān)于如何更好地將缺陷分離出來的系統(tǒng)知識和工具。后者,整個軟對需要對真正重要的缺陷有統(tǒng)一的認識。結(jié)果是發(fā)布給用戶的軟件質(zhì)量更高。

? ? c)哪些測試技術(shù)能找到這個缺陷?

? ? 可在測試系統(tǒng)知識中加入真正能有效找到重要缺陷的測試。

? ? 因為既然我們不可能理解如何正確開發(fā)軟件,那么就讓我們理解自己是如何做錯的,然后停止那樣做。作為結(jié)果的系統(tǒng)知識無法告訴我們應(yīng)該如何開發(fā)軟件,但是它可以告訴我們什么是不該做的。

? ? 至此,附錄2下半篇學(xué)完了,整體感受是,讓我對缺陷有了更深刻的認識,原來缺陷的作用不僅僅是缺陷!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 文章來自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鵬閱讀 9,386評論 2 126
  • -----轉(zhuǎn)載----- 1、問:你在測試中發(fā)現(xiàn)了一個bug,但是開發(fā)經(jīng)理認為這不是一個bug,你應(yīng)該怎樣解決? ...
    花開沉浮閱讀 7,733評論 4 88
  • Chatper 2 手工測試 測試是為了找bug的一系列過程.那么手工測試毫無疑問是主要活動 任何一個軟件公司發(fā)布...
    做測試的DanteYu閱讀 1,896評論 0 8
  • 1.測試與軟件模型 軟件開發(fā)生命周期模型指的是軟件開發(fā)全過程、活動和任務(wù)的結(jié)構(gòu)性框架。軟件項目的開發(fā)包括:需求、設(shè)...
    Mr希靈閱讀 22,428評論 7 278
  • 姓名:謝新葵 公司:寧波大發(fā)化纖有限公司 寧波盛和塾《六項精進》第235期學(xué)員感謝二組 【日精進打卡第22天】 知...
    sandy201704閱讀 234評論 0 0

友情鏈接更多精彩內(nèi)容