qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          測(cè)試設(shè)計(jì)經(jīng)驗(yàn)總結(jié)

           昨天參加了單元測(cè)試的分享,加上最近項(xiàng)目做的挺多,以及慢慢體會(huì)<<Systematic software Testing>>(英文版)書中感覺,總結(jié)如下,其中有些點(diǎn)還不透徹.
            軟件測(cè)試過程中,產(chǎn)品需求到交付測(cè)試執(zhí)行這個(gè)流程中,測(cè)試設(shè)計(jì)是重中之重,結(jié)合自己的工作經(jīng)驗(yàn),個(gè)人認(rèn)為:測(cè)試設(shè)計(jì)就是軟件需求轉(zhuǎn)換成測(cè)試需求,通過建模,從測(cè)試角度羅列功能對(duì)象,了解,分析被測(cè)對(duì)象,并不斷和相關(guān)者溝通,確認(rèn),最終得到驗(yàn)證該模型的測(cè)試用例過程.
            引用Rick D. Craig and Stefan P. Jaskiel大師的一張圖,說的是白盒測(cè)試+黑盒測(cè)試能改進(jìn)軟件的質(zhì)量達(dá)60%,如圖:
            所以,測(cè)試之前很有必要對(duì)測(cè)試對(duì)象進(jìn)行分析設(shè)計(jì),以下是我在黑盒測(cè)試設(shè)計(jì)以及白盒(目前做SDK項(xiàng)目)測(cè)試設(shè)計(jì)的心得:
            黑盒設(shè)計(jì)經(jīng)驗(yàn)總結(jié):
            1.設(shè)計(jì)過程是一個(gè)反復(fù)溝通,反復(fù)確認(rèn)的過程.多問幾個(gè)為什么
            2.關(guān)注重點(diǎn)和難點(diǎn),單個(gè)測(cè)試風(fēng)險(xiǎn)和整體測(cè)試風(fēng)險(xiǎn),80%的精力集中到重點(diǎn)和難點(diǎn),一定不要低估這個(gè)地方.
            3.白盒的手段,黑盒的思想.看代碼為補(bǔ)充.
            4.白盒的思想,黑盒的手段,基于功能點(diǎn)分析.
            5.黑盒思想,黑盒手段,場(chǎng)景很重要.
            6.根據(jù)線上bug設(shè)計(jì)保持最新狀態(tài),個(gè)人認(rèn)為:測(cè)試設(shè)計(jì)有效性,以項(xiàng)目上線1-3個(gè)月為維度,調(diào)整設(shè)計(jì),激發(fā)測(cè)試思想.
            7.探索性測(cè)試為補(bǔ)充(取消法,后退法,逆向思考很重要)
            8.單元腳本也是測(cè)試設(shè)計(jì)的參考
            9.測(cè)試設(shè)計(jì)歷程(個(gè)人理解):基于需求的設(shè)計(jì)->基于經(jīng)驗(yàn)的設(shè)計(jì)->基于風(fēng)險(xiǎn)的設(shè)計(jì).
            10.設(shè)計(jì)評(píng)審很重要,測(cè)試設(shè)計(jì)很有必要專門安排時(shí)間
            11.設(shè)計(jì)過程關(guān)注單模塊,多模塊之間的耦合(bug都來自此)
            12.根據(jù)不同項(xiàng)目,熟練使用測(cè)試用例方法,增強(qiáng)測(cè)試用例發(fā)現(xiàn)bug幾率.(一般情況,開發(fā)自測(cè)測(cè)到的點(diǎn)不容易發(fā)現(xiàn)問題,考慮沒測(cè)到的點(diǎn)容易發(fā)現(xiàn)問題.).
            13.設(shè)計(jì)過程考慮測(cè)試類型,安全,性能,兼容.
            14.不同產(chǎn)品測(cè)試設(shè)計(jì)特性不同,web產(chǎn)品(缺陷容忍度高)電信,金融產(chǎn)品(業(yè)務(wù)復(fù)雜,流程重.修復(fù)長(zhǎng),具體到某個(gè)sql字段)移動(dòng)app產(chǎn)品(適配).
            白盒或者說接口設(shè)計(jì)經(jīng)驗(yàn)總結(jié):
            1.  熟悉代碼,一個(gè)SDK的代碼量不是很多,通過不斷和開發(fā)溝通,弄清楚分支,然后特定場(chǎng)景是否有異常處理;
            2.  如果一個(gè)SDK有UI層,有接口層,先做UI層的黑盒測(cè)試 設(shè)計(jì),然后做接口層基于接口入?yún)ⅲ鰠⒃O(shè)計(jì),以及基于核心function的測(cè)試設(shè)計(jì),因?yàn)樵谧龊诤幸簿褪菢I(yè)務(wù)層的設(shè)計(jì)時(shí),反饋給開發(fā),提升開發(fā)代碼的兼容和遺漏.SDK目前個(gè)人歸納為這么四類: 有UI層的SDK, 集成mtop接口的SDK,包含so包的SDK,以及只包含java層的SDK,不同的SDK產(chǎn)品,測(cè)試設(shè)計(jì)的重點(diǎn)不同. UI層的SDK側(cè)重適配測(cè)試, 集成mtop的SDK側(cè)重異常處理,包含so包的側(cè)重接口和適配,java層的sdk側(cè)重接口.
            3.SDK設(shè)計(jì),看代碼同時(shí)除了學(xué)習(xí)設(shè)計(jì)模式外,更重要是為做測(cè)試設(shè)計(jì)分析服務(wù),發(fā)現(xiàn)溝通漏洞.
            4.基于底層的function設(shè)計(jì),有些邏輯復(fù)雜的,要細(xì)分,想辦法把每個(gè)節(jié)點(diǎn)測(cè)試到.
            5.測(cè)試過程中,白盒測(cè)試不要脫離了黑盒測(cè)試,有些系統(tǒng)復(fù)雜的,白盒測(cè)試單個(gè)節(jié)點(diǎn)測(cè)試了沒問題,但是聯(lián)調(diào)有問題.
            6.SDK Demo測(cè)試不能覆蓋所有的邏輯,一定要針對(duì)Demo也要有測(cè)試思路,爭(zhēng)取全面覆蓋接口分支,代碼邏輯分支.
            7.寫好的用例后,加入持續(xù)集成,能有度量工具對(duì)代碼度量(satement coverage,分支度量,路徑度量),關(guān)注未測(cè)試到的代碼.
            最后,推薦這幾天一直在看的幾篇文章,很有思考價(jià)值:
            <<不能成為專業(yè)測(cè)試的十大理由>>,
            <<怎樣做測(cè)試?>>
            <<測(cè)試人員需要經(jīng)歷的階段>>

          posted on 2014-04-10 10:31 順其自然EVO 閱讀(230) 評(píng)論(0)  編輯  收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄

          <2014年4月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 黎平县| 卓尼县| 武汉市| 武城县| 房山区| 乐业县| 临清市| 揭东县| 金堂县| 东乡| 南丹县| 藁城市| 临湘市| 乌什县| 太谷县| 平阳县| 稻城县| 丁青县| 南雄市| 惠水县| 浠水县| 桐柏县| 沐川县| 竹山县| 资源县| 宝清县| 曲周县| 甘孜| 岑巩县| 界首市| 孟连| 厦门市| 乌鲁木齐市| 扎赉特旗| 布尔津县| 韶山市| 江华| 连城县| 临颍县| 三台县| 兴义市|