軟件測試隨想
1、了解產品的商業目標:
每次接到的新項目,它都是針對一個新的業務領域,我們接觸過產品管理,產品代購,物流管理等等軟件。每個產品針對的業務領域不同,該產品的商業目標也是不同的。我們作為測試和開發人員首先要抓住該項目的商業目標,這樣才能知道產品的重點在哪里,也就知道產品的主要風險在哪里,該如何針對其商業目標開發我們的測試用例。比如我接觸過的Route Version項目,它是關于交通工具管理系統,收集所有交通工具每天的數據,在這個項目當中報表是最多的,也是該項目最主要的功能,那我們就需要在項目一開始把報表系統最為一個風險考慮進來,包括其采用的開發技術,以及如何測試還有很多的測試數據,都是需要提前考慮清楚的,而且既然是報表系統,那么它就會和很多其他模塊有著許多的聯系,這樣集成測試就顯得特別重要了。我們還開發的另外一個項目GTO,它是一個代購網站,將賣家和買家都召集到這個網站上進行交易,其中一個最重要的業務是招標系統,招標系統是個很專業的業務領域,如果提前沒有把它的流程搞得很清楚,就會對后面的開發造成不小的影響。
2、測試驅動設計:
測試人員可以發揮過去在其他項目中積累的對客戶需求的理解,以一個代表“用戶”的角色與老板,與開發負責人一起商討產品應該具備哪些功能,如何設計才能滿足用戶的需求。對于能力很強,經驗豐富的測試人員還可以參與產品的架構評審,設計方案質量的把關。確保產品的設計滿足最初的需求規劃,產品的設計缺陷不會留給用戶。我們把這個階段的測試活動都定義為“測試驅動設計”。在我接觸的項目當中,我參與了很多項目的設計階段,發現很多產品設計不合理的地方,也就是易用性比較差,但平常總結的比較少,在這方面對專業軟件關注的也比較少,所以自己也不能提出更多有建設性的意見,希望以后我能將所有工作中碰到的這些問題總結出來,不斷提升自己在產品設計階段的能力。
3、測試覆蓋率的問題:
有效的測試覆蓋率是最重要的測試工作目標,需要說明的是測試覆蓋率不等于代碼覆蓋率。通過單元測試可以達到代碼覆蓋率100%,但是單元測試只能保障消除產品編碼的問題,針對產品設計的問題則很難發現。發現產品設計問題的最主要方法還得需要基于黑盒的測試分析和設計。
如何做好測試分析和測試設計,需要從以下幾個方面來大致達到一個比較高的有效測試覆蓋率:
1、將軟件所有的功能按照用戶實際場景劃分,開發測試用例;
優點:可以覆蓋到主要的基本場景;
缺點:從事場景分析的人無法做到了解用戶所有的場景,這樣就會有場景遺漏;
2、通過軟件內部實現流程的路徑及依賴關系分析入手,開發測試用例;
優點:可填補前面沒有覆蓋到的一些場景,特別是異常處理和分支交互處理的場景;
缺點:仍然會遺漏真實環境中的一些偶然小概率事件;
3、依賴基于經驗的測試分析和設計,例如:錯誤猜測法或探索性測試法;
優點:對測試設計再次作出補充;
缺點:測試用例的完整度取決于組織內部經驗的積累量及測試人員思維的發散能力和創造性;
使用以上三個方面的測試分析和設計,基本上能覆蓋到被測對象的絕大部分應用場景,充分保障產品質量,減少問題遺漏。
因此:測試的核心技術是測試分析和測試設計的能力,它決定了后續所有測試活動的質量及效果。同時,要做好一個測試任務,掌握廣泛的測試類型也是必要的核心技術。
4、測試結束的時間:驗證系統已100%滿足項目需求規格,就可以作為測試結束的標準;大廈在滿足的基礎上如果還有時間和資源,就可以開展探索性測試,繼續以挖掘bug為動機進行測試,探索性測試覆蓋的內容可以是測試用例之外的場景,考慮一下還有哪些場景沒有測試到。在測試計劃時間結束前,都可以一直把探索性測試做下去,以發現bug為準,結束標準只有一個:測試時間結束了。
posted on 2012-06-14 11:10 順其自然EVO 閱讀(173) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄