qileilove

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

          軟件測試人員一般要經(jīng)歷的幾個(gè)階段

           一、執(zhí)行測試用例

            作為一個(gè)測試新手來說,最主要的工作應(yīng)該就是執(zhí)行測試用例,最基本的要求當(dāng)然就是不能夠出現(xiàn)執(zhí)行漏測了。是的,達(dá)到這個(gè)要求畢竟簡單,只要嚴(yán)格按照用例來執(zhí)行就可以了,這里主要考驗(yàn)的就是一個(gè)測試人員的執(zhí)行力和細(xì)心的能力。另外,這個(gè)階段測試人員能夠學(xué)習(xí)到自己測試模塊的一些基本業(yè)務(wù)知識(shí),以及如何去執(zhí)行用例,提交和跟蹤bug等等,這個(gè)階段也很容易達(dá)到,甚至可能會(huì)跟第2個(gè)階段一起進(jìn)行,但是該階段雖然簡單卻很重要

            二、發(fā)現(xiàn)bug

            經(jīng)歷第一個(gè)階段后,這個(gè)時(shí)候測試人員可以開始在執(zhí)行用例的基礎(chǔ)上開始一些自己的發(fā)散測試(更好的叫法是探索性測試),來更好的發(fā)現(xiàn)一些通過執(zhí)行用例無法測試到的bug。這個(gè)階段就比較考察一個(gè)測試人員的發(fā)散思維了(個(gè)人覺得測試人員的發(fā)散思維恩能力是測試人員非常重要的一個(gè)能力,這也是軟件測試的魅力所在),有的測試人員就是能夠通過自己的一些想法來發(fā)現(xiàn)一些bug(甚至是隱藏很深的bug),并且很享受在其中。個(gè)人覺得這些能力(也可以叫對bug的敏感程度)是天生的,當(dāng)然,并不是說這塊能力不強(qiáng)的人在測試?yán)锩姘l(fā)展不好,因?yàn)闇y試也有技術(shù)(確定的因素)的成分,比如:自動(dòng)化等。但是,這樣的測試人員不太容易享受到發(fā)現(xiàn)bug給自己帶來的成就感(即軟件測試的藝術(shù)性)。當(dāng)然,要達(dá)到這樣的程度對于模塊本身的業(yè)務(wù)邏輯也需要非常熟悉

            三、保證質(zhì)量

            質(zhì)量是一個(gè)測試人員的生命,當(dāng)我們將一個(gè)功能模塊交給一個(gè)測試人員負(fù)責(zé)的時(shí)候,我們肯定是希望對方能夠給保證質(zhì)量的。但是實(shí)際上要達(dá)到這個(gè)要求是很難的。首先,我們對于保證質(zhì)量是如何定義的,是保證該模塊到客戶那里不會(huì)影響客戶的業(yè)務(wù)還是在客戶那里不出現(xiàn)問題?實(shí)際上2者是很難區(qū)分的,目前我們對于測試人員的要求大概都是能夠發(fā)現(xiàn)所有的bug吧,雖然實(shí)際上不可能。其次,作為一個(gè)測試人員,我們自己對于該模塊的測試策略該如何把握呢(因?yàn)闇y試時(shí)間是一定的)?根據(jù)個(gè)人經(jīng)驗(yàn),要達(dá)到這個(gè)目標(biāo),至少需要做到以下幾點(diǎn)吧!

            1、需求覆蓋:對于的整個(gè)需求的理解程度:對于客戶來說,為什么需要這個(gè)功能?主要是用使用習(xí)慣是怎樣的?客戶哪里可能會(huì)出現(xiàn)的一些異常情況等等

            2、業(yè)務(wù)邏輯覆蓋:對于整個(gè)業(yè)務(wù)邏輯的理解程度:通過看研發(fā)的設(shè)計(jì)文檔和具體的實(shí)現(xiàn)邏輯圖,來分析如何覆蓋到所有的邏輯以及異常邏輯(這個(gè)時(shí)候還需要提前發(fā)現(xiàn)一些研發(fā)沒有考慮到的地方),并且設(shè)計(jì)對應(yīng)的邏輯測試用例,保證我們的測試業(yè)務(wù)邏輯的覆蓋率(代碼覆蓋率非邏輯覆蓋率)。當(dāng)然,這個(gè)階段是能夠通過一些技術(shù)手段做的更好的,比如:接口測試單元測試、代碼的靜態(tài)走讀等等,后面再討論...

            3、性能壓力覆蓋(為什么就不說了):主要是在前面對業(yè)務(wù)邏輯非常熟悉的基礎(chǔ)上,對于每個(gè)業(yè)務(wù)邏輯的性能測試點(diǎn)進(jìn)行分析,看下這些邏輯是否可能有壓力點(diǎn),比如:當(dāng)資源不足的時(shí)候是否有影響?當(dāng)并發(fā)數(shù)或者流量很大的情況下是否會(huì)有影響?是否會(huì)涉及到多線程通信或者進(jìn)程之間搶占資源等等,分析完成后還需要考慮如何去覆蓋到這些地方(包括壓力是否足夠等等)

            4、關(guān)聯(lián)覆蓋:大部分情況下一個(gè)模塊總是會(huì)和整個(gè)系統(tǒng)的其他模塊存在關(guān)聯(lián)的地方,那么我們除了要分析出和哪些模塊有關(guān)聯(lián),還需要分析具體的關(guān)聯(lián)點(diǎn)是什么?這其實(shí)就要求我們對于與之關(guān)聯(lián)的模塊也足夠的熟悉,這樣才能夠更好的分析到對應(yīng)點(diǎn)上

            5、當(dāng)然,還會(huì)需要涉及到其他的,比如:模塊的可靠性,安全性等等

            6、發(fā)散測試:一般情況下,前面的幾點(diǎn)很難分析到非常的全面和充分,這個(gè)時(shí)候就需要依賴自己的分析能力和發(fā)散思維能力了,如果這方面比較好的話應(yīng)該是有意外驚喜的,而且前面的一些測試也需要依賴自己的發(fā)散思維能力

            如果能夠達(dá)到這個(gè)階段,相信你已經(jīng)是一個(gè)比較讓人放心的測試人員了,這些階段一個(gè)非常重要的就是對被測模塊的業(yè)務(wù)熟悉程度。

           四、提高測試效率

            測試是有成本的,而且測試的周期越長,成本越大,甚至可能影響整個(gè)產(chǎn)品在市場的占有情況或客戶的滿意程度。所以,對于測試人員一個(gè)很重要的要求當(dāng)然是如何在更短的時(shí)間內(nèi)保證質(zhì)量。要做到這個(gè)程度,主要依靠兩個(gè)手段吧!

            1、前期缺陷預(yù)防:測試人員通過前期和開發(fā)人員配合,共同的將很多bug直接扼殺在搖籃,避免bug在后面被發(fā)現(xiàn)。下面可以從每個(gè)階段來分析測試測試人員需要做好哪些事情。

            (1)需求階段:測試和研發(fā)一起將該功能的所有需求點(diǎn)全部列出來,并且分析所有的需求點(diǎn)是否明確和合理。另外,是否還有沒有考慮到的客戶的隱藏需求等等,通過不斷的檢視來完善。需要的能力:測試經(jīng)驗(yàn)、對于需求的理解能力和思考問題的全面性

            (2)設(shè)計(jì)階段:加深對于設(shè)計(jì)的理解,多跟開發(fā)進(jìn)行交流,能夠根據(jù)自己的測試經(jīng)驗(yàn)以及對于該模塊的理解程度對研發(fā)的設(shè)計(jì)進(jìn)行評審,并能夠發(fā)現(xiàn)設(shè)計(jì)存在的一些問題(比如:一些場景可能沒有考慮到,一些異常情況可能沒有考慮到等等)。并且將自己后面可能會(huì)怎么測試提前告訴開發(fā)(這個(gè)時(shí)候心里應(yīng)該大概知道該如何去測試該模塊,可能的風(fēng)險(xiǎn)是什么燈)。需要的能力:對于模塊的理解程度,對于用戶場景的理解程度,對于整個(gè)業(yè)務(wù)的理解程度(參考測試人員的第3個(gè)階段)。

            (3)編碼階段:這個(gè)時(shí)候可以通過一些改進(jìn),比如:對研發(fā)的代碼進(jìn)行靜態(tài)走讀,通過工具覆蓋,思考單元測試或者借口測試,對用例實(shí)現(xiàn)自動(dòng)化等,目的就是在黑盒測試前就能夠提前發(fā)現(xiàn)該模塊存在的代碼邏輯問題,減少后面的手工測試時(shí)間。需要的能力:代碼理解能力、代碼測試工具的使用能力,一定的編碼能力,自動(dòng)化開發(fā)能力等

            2、測試分析能力

            進(jìn)入測試后,需要對我們前期的缺陷預(yù)防進(jìn)行分析和總結(jié),并且分析下該模塊的質(zhì)量:看下哪些地方是存在風(fēng)險(xiǎn)的,哪些地方是前面做的比較充分的,從而來制定我們的測試策略,減少一些沒有必要的測試點(diǎn)或增加一些有效的測試點(diǎn),讓我們的整個(gè)測試更加的有效,并且通過不斷的測試和分析,來及時(shí)調(diào)整測試策略,來減少我們的測試時(shí)間(比如:以前需要測試500個(gè)測試用例,后面通過分析后能夠減少到300個(gè),并且證明測試結(jié)果是一樣的),當(dāng)然我們需要對我們的測試結(jié)果負(fù)責(zé),要達(dá)到這個(gè)程度應(yīng)該是比較難的!

            以上純屬個(gè)人觀點(diǎn),歡迎大家討論。

          版權(quán)聲明:本文出自 pengyongbo 的51Testing軟件測試博客:http://www.51testing.com/?181625

          原創(chuàng)作品,轉(zhuǎn)載時(shí)請務(wù)必以超鏈接形式標(biāo)明本文原始出處、作者信息和本聲明,否則將追究法律責(zé)任。

          posted on 2013-04-28 12:22 順其自然EVO 閱讀(245) 評論(0)  編輯  收藏 所屬分類: 測試學(xué)習(xí)專欄

          <2013年4月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 邵阳县| 介休市| 林州市| 牙克石市| 连江县| 龙江县| 福鼎市| 杭锦后旗| 宁远县| 平乐县| 太白县| 浏阳市| 万宁市| 衡南县| 江津市| 合山市| 黎川县| 永安市| 辽宁省| 广灵县| 甘肃省| 沂水县| 沙雅县| 黑河市| 巴青县| 长海县| 荆门市| 宜昌市| 肇庆市| 衡阳县| 永康市| 靖远县| 循化| 砚山县| 河北省| 邵阳县| 芒康县| 正镶白旗| 汤阴县| 昌乐县| 巴青县|