對專業的
測試人員來說,編寫
測試用例
並不陌生,但是如何編寫覆蓋性強的測試用例,就需要我們再三思考後落筆哦~
首先我們來想下測試用例的前世今生:
1.測試用例因何產生?
2.測試用例為誰而寫?
這兩個問題我們各用一句話來回答:測試用例是產品原型下的衍生物,為想要了解這個系統(需求)的人而寫,且隨著產品原型的調整及時更新。
了解乙個系統更多時候不是從已經使用的案例中抽取其中之一作為了解物件,而是從需求原型中,梳理分析,整合成測試用例來幫助使用者去理解。而乙個覆蓋性強的測試用例,可以保障系統的強健性。
從大的方面講,測試用例分為
功能測試
、非功能測試兩個方面;
增刪改查是基礎,也是重中之重。這一點不僅我們測試人員重視,研發也同樣了解,因此在提測之前,增刪改查的部分大多數情況下已經由研發人員驗證過一次。若非如此,測試人員還是有權力拒測或執行一鍵駁回的,直到醒目達到最基本的提測狀態。
gui頁面檢查以及元素驗證。這類驗證幾乎在我們的日常工作中均有涉及,從裝置來講pc專案,移動端(
android
,ios);從系統應用來說,辦公系統,娛樂**,直播平台,交易系統等等,均離不開使用者與系統之間的互動。可以說,gui部分的驗證佔據了測試人員大量的工作時長,所以我們回顧羅列的測試用例,大範圍陳述了頁面元素的驗證:字元限長,非法驗證,非空校驗,提示語,二次彈窗,非空集合等等。這部分工作繁瑣冗長,往往是研發人員忽視的部分,稍有不慎就會引發問題,需要測試人員從不同角度多次驗證。
資料準確性。我們在驗證資料準確性的時候,更多側重於已經產生的資料,在資料的生命週期中驗證其準確性,往往忽視了資料的初始化及消亡兩個極端。以往我測試過乙個web系統,測試資料是由研發人員匯入的線上資料,但是在測試過程中,發現這批線上測試資料的生命週期並沒有異常,反而是我自己通過系統匯入的初始資料,在接下來的頁面互動中出現不少問題。這就涉及到了前端如何處理初始資料的問題,假如自己同樣忽視資料的產生,上線後,就是引發測試事故的重要
漏洞。業務邏輯的正確性。這個問題往往是產品原型產生初期就被遺漏的問題,帶來的後果是使用者體驗度差。舉個例子,使用者通過手持端進入領取優惠頁面,一系列驗證使用者操作完畢後,提示領取成功。現在,作為乙個使用者,大多數情況下應該會找使用優惠券的入口,或者去檢視這個優惠券如何使用。然並卵,產品經理忽視了最終的體驗物件,只是將使用者領取優惠完成來當做這一動作的終結。所以說,測試不僅僅是去驗證產品原型,還要考慮業務邏輯是否正常。
手機號到伺服器,實現傳送簡訊的目的。給出幾個錯誤驗證的例子,一,匯入excel檔案中,同乙個手機號連續輸入兩次,檢視傳送簡訊條數(此部分驗證的是簡訊攻擊性);二,匯入excel檔案中,同乙個手機號不連續輸入多次,檢視傳送簡訊條數(此部分驗證的是資料去重性)。
業務關聯性。例如資料變更等資訊同步問題時,有關聯的業務之間產生聯絡,會出現此類驗證。舉個例子,es資料實現同步功能,在首批資料匯入後,不同業務之間共享同一批資料,當某一條資料進入生命週期時,此時不僅要觀察當前
資料庫中的資料變化,還要觀察使用es技術同步後的資料是否一致。
併發操作。此類問題的產生情景在較多使用者共享同一批資料,且同時對此資料進行同一功能操作下產生的問題。此類問題需要測試人員使用兩個
瀏覽器即可完成問題復現,左右各開乙個顯示器,同時對乙個資料進行編輯後的提交,檢視介面反饋。
以上羅列的功能測試點和處理的例子尚有不完整之處,在此不再多做贅述。功能測試過程中,上述常見測試要點,酌情參考,每個測試需求不同,不能統一照搬,在原有經驗的基礎上,更進測試方法,達到測試目的。
此外,除了功能測試還有非功能測試需要在梳理測試用例時覆蓋到。
瀏覽器相容。目前市場上廣泛使用的瀏覽器較多,firefox,chrome,ie,uc,獵豹,opera等等,在測試過程中,摘選主要2-3個應用廣泛的作為重點測試物件,其次,酌情考慮專案參與人員的意見,如研發或產品人員,併入測試範圍。
壓力。目前各個公司有自己的
壓力測試
平台,考慮當前專案的使用人數後酌情進行壓力測試。
介面。更多時候是在介面上不能完成增刪改查操作時,使用手動
介面測試
,檢視返回值。
安全和風險。這個也要看所測試的專案需要關注此類問題。
此外,測試用例評審,測試用例更新完善等環節也是對測試用例的查漏補缺。
覆蓋性強的測試用例是需要我們針對專案具體制定的測試用例,以上所梳理的測試點,是在大多數工作中需要考慮的方面,總而言之,言而總之,測試用例不能照搬照抄,可以參考不同測試用例的思考點,以這種思考的方式來當做當前專案的切入點,達到測試目的:發現程式的錯誤。
這樣做,讓你的滲透測試更有效
進行滲透測試首先需要確認滲透測試專案的起始狀態。定義起始狀態的最常見的方法是確定選擇黑盒測試或白盒測試或灰盒測試。測試型別的選擇 黑盒測試存在不少問題。由於被測系統的原因,也由於測試者對環境的熟悉程度不同,要估算偵察階段能持續多長時間是很困難的,而且偵察階段的長短涉及到費用問題。但是,如果測試時間不...
這樣的需求如何設計測試用例
測試點 1.db查詢a標誌位成功清除 2.db查詢a標誌位清除後,不會影響到b c d e f g標誌位 邏輯 手動下架商品,可以清除a標誌位 商品賣完自動下架,也可以清除a標誌位 實現方式 某資料表的w欄位用來標識商品的 a b c d e f g 標誌位 w欄位的值 是十進位制 轉換成16進製制...
測試用例編號 分享讓測試用例更完整的方法
首先,我們需要知道測試用例是什麼,測試用例 testcase 是為了某個特殊目標而變質的一組測試輸入 執行條件以及預期結果,以便測試某個程式路徑或核實是否滿足某個特定需求。測試用例的編寫是要結合需求文件,結合各種測試方法來編寫。那麼常用的測試方法有哪些呢?1.等價類劃分法 等價類劃分是把所有可能的輸...