1. 程式人生 > >自動化測試用例編寫守則

自動化測試用例編寫守則

  先來說下一般自動化測試的流程,今天一個朋友也問過我這個問題,就順便說說。

  一般在開始自動化測試,如拿到一個程式包或apk或網站檔案後,我們首先要做的就是要分析這個程式適不適合進行自動化測試;之後再對程式的執行路徑進行分析,找出一些關鍵路徑和有針對性的進行測試設計;然後就是測試用例編寫和指令碼編寫執行了;最後就是結果分析和優化了。

  在這些過程中,其實關鍵的地方的地方在於測試設計,包括測試用例、測試指令碼架構及測試組織等。

  下面就主要說說自動化測試用例的寫法。

  --------------------------------------------------------------------------------

  首先,我們要確定一點,就是自動化的目的和作用。

  自動化測試是為了代替人執行需要大量重複的規律性或“無規律”的工作,它的主要目的在於驗證問題,而不是發現問題;所以我們對於自動化的設計,就主要集中在功能的正確性方面。至於很多人想象中的自動化測試可以為你發現多少個bug,這個即使能實現,投入和產出也是不成比例的。

  根據自動化的目的和作用,我們可以大致確定以下幾點:

  1、自動化的測試用例都必須是正向的。這裡的正向指的是程式碼可實現的非主觀操作,如按鈕點選、頁面切換、資源下載等。至於說頁面顏色顯示對不對、樣式好不好看等需求還是用人來實現吧,那些太費事不說,而且成本太高、效果太差。

  2、自動化的測試用例需要更多的關注功能邏輯的實現,而不必糾結於某些欄位的限制。欄位限制等需要在測試分析階段來手動確定的。

  3、自動化的測試用例上下文必須有一定的順序性,要能夠互相連線起來;並且前置條件清楚,有一些是顯式的前置條件,一些是隱式的前置條件。

  4、自動化的測試用例必須是可迴歸的,不能天馬行空般飄來飄去。否則迭代和自動執行就是空談。

  說了這些,還是有些空泛,那現在就以一個例子來說明下,這個編輯器不太好用,懶得自己寫html指令碼了,湊合看吧。

  TestCase1[前置條件:有道詞典程式未啟動]:

  1、啟動有道詞典。預期結果:任務通知欄中有有道詞典的程式/如果是windows7系統,則可以驗證程序是否啟動

  TestCase2[前置條件:有道詞典程式已啟動]:

  1、顯示有道字典主窗體。預期結果:有道詞典視窗顯示在桌面

  2、輸入要查詢的單詞:silence,點選【查詢】預期結果:查詢後左側屬性列表顯示查詢結果索引,右側區域顯示查詢內容

  3、關閉有道詞典主窗體。預期結果:有道詞典主窗體關閉

  TestCase3[前置條件:有道詞典已開啟]:

  1、退出有道詞典程式。預期結果:有道詞典從任務通知欄消失/如果為windows系統,則工作管理員中沒有改程序

  上面這三條TestCase可以構成一個完整的迴圈,並且TestCase2也可以作為一個完整的查詢功能的迴圈。這個與我們平時寫的手工測試用例對比起來更加註重連貫性與功能的互動,而這些也正是自動化賴以生存的根本。

  當測試用例不斷完善之後,就可以抽取部分測試用例來進行初始化,如TestCase1;或者進行場景恢復,如TestCase3。當然,那些都是後話了。

相關推薦

自動化測試編寫守則

  先來說下一般自動化測試的流程,今天一個朋友也問過我這個問題,就順便說說。   一般在開始自動化測試,如拿到一個程式包或apk或網站檔案後,我們首先要做的就是要分析這個程式適不適合進行自動化測試;之後再對程式的執行路徑進行分析,找出一些關鍵路徑和有針對性的進行測試設計

自動化測試編寫的規範

上下 可能 重復 功能點 正向 font 場景 關閉瀏覽器 進行 1.一個腳本是一個完整的場景,從用戶登陸操作到用戶退出系統關閉瀏覽器。 2.一個腳本腳本只驗證一個功能點,不要試圖用戶登陸系統後把所有的功能都進行驗證再退出系統 3.盡量只做功能中正向邏輯的驗證,不要考慮太

HTTP介面自動化經驗總結(四)Okhttp3 介面測試編寫

經過前面幾次的分享,我們已經有了方法和結果,那麼這篇文章我們就來寫測試用例。 首先我們新建一個TestNG class,名字為APITest,繼承我們的依賴方法DependeicesMethod 1.get介面測試 //測試Get方法,其餘校驗請自行新增 @Test

Appium+java+Android二(uiautomatorviewer定位手機頁面元素+Java編寫自動化測試)

uiautomatorviewer定位手機頁面元素+編寫自動化測試用例 如何安裝及搭建appium的環境請參考我的上篇部落格appium+java+Android環境搭建 uiautomatorviewer工具是用來給手機頁面元素定位的,所以在使用uiautomatorviewer之前,

Teuthology的使用與Ceph自動化測試編寫(一)

這裡將簡單介紹teuthology中自動化測試的用例的編寫。Ceph的自動化測試使用yaml檔案描述,如下的例子搭建了一個三節點的Ceph叢集,終端在叢集搭建好後停止在python的interactive上,允許測試著呼叫相關的函式與叢集互動。 rol

測試編寫規範

不同 輸出 相互 安全 邊界情況 輸入 不變 ans 基本 一、測試用例編寫準備從配置管理員處申請軟件配置:《需求規格說明書》和《設計說明書》;根據需求規格說明書和設計說明書,詳細理解用戶的真正需求,並且對軟件所實現的功能已經準確理解,然後著手制訂測試用例。 二、測試

測試編寫思路

瀏覽器 elf 也會 strong let 滾動提示 方便 java 獲得 測試用例的編寫可不簡單呢,寫一份專業的測試用例,是所有測試工作者考慮的內容,其實用例的編寫是可以通過一些思路來進行,不少比較成熟的公司為了提升用例的專業性,就會有自己的用例庫,包括流程、關註

自動化測試設計的原則

自動化 多少 target 刪除 問題 正是 測試工具 例子 解決方案 自動化測試用例設計的原則 很多公司在實施自動化測試的過程中,往往會把所有的手工測試用例作為自動化測試用例,並且直接進行腳本的開發工作,甚至有些公司不寫自動化測試用例,直接想當然地開發測試腳本,這些都是

自動化測試設計三原則

命令 進行 test 服務 更換 打印 抽取 自動 持續集成 今天總結一下在做自動化測試中測試用例設計的一些建議,總結為三原則: 1. 保持Case之間的獨立性 case獨立性就是能夠獨立運行,當我們有隨機的跑其中某個Case或亂序的跑這些Cases時,測試的結果都應該是準

自動化測試設計思想指南

不少新手剛剛掌握了寫指令碼的能力,一上來就拿著功能測試用例一條一條的轉化成自動化用例。在編寫的過程中,會發現諸多問題,例如,指令碼中重複程式碼很多,一個指令碼的執行結果影響到另一個指令碼的執行,有些功能用例很難轉化成自動化用例等。 下面談談幾條指導建議:站在使用者角度設計自動化 在功能測試的時

原生elasticsearch測試編寫

1.座標 <dependencies> <dependency> <groupId>org.</groupId> <artifactId>elasticsearch</artif

測試 -介面測試-測試編寫

一、.介面功能測試的測試方案規格建議可以有如下幾點: 1、需求所涉及的介面的背景描述 2、介面跟頁面功能互動的關聯關係 3、介面邏輯的流程圖 4、介面文件定義 5、介面所涉及的快取,以及快取對應的key值,失效時間定義 6、介面所涉及的SQL,以及資料庫表字段定義

自動化測試設計

 一、瞭解自動化測試的目的和作用   自動化測試是為了讓測試人員從繁瑣重複的機械式測試過程中解脫出來,把時間和精力投入到更有價值的地方,從而挖掘更多的產品缺陷。目前自動化測試更多的是定位在冒煙測試和迴歸測試;冒煙測試執行的是主體功能點的用例。迴歸測試執行全部或部分的測試用例。它的主要目的在於驗證

golang測試編寫示例

package goconvey import ( "errors" ) func Add(a, b int) int { return a + b } func Subtract(a, b int) int { return a - b } func Multiply(a,

流程圖在測試編寫中的運用

一個複雜的網際網路應用,敏捷開發過程,業務系統從啟動需求到研發實施,通常沒有預留太多時間給測試去詳細瞭解各個業務的具體規則、業務邏輯。產品經理僅提供文件資料,測試沒有資料作為憑據,則可以使用流程圖來梳理業務流程,並在畫圖的過程中,和對應開發溝通交流,對關鍵邏輯判

註冊 測試編寫

先看圖和要求: 要求: 1.註冊賬號可以是手機號或郵箱。 2.手機號碼:中國地區手機號長度11位,以13/14/15/17/18開頭 3.郵箱:“@”前面的部分、“@”和最後一個“.”之間部分、最後一個“.”後面的部分和一些其他的情況 4.密碼:英文或英文數

測試編寫方法

    在獨自摸爬打滾的測試經驗中,從一開始在書本上獲取基本測試用例要素到後來漸漸自己設計測試用例,一個從無到有的過程,我只是在做,在執行,少有停下來思考總結。在測試用例思考頻率多起來是在最近,當我覺得傳統的EXCEL

測試編寫

如果你是一位軟體測試的入門者,你到單位報到後接手的第一項工作很可能是執行軟體測試用例,而不是去編寫。你不要因此而鬱悶,這樣的安排是合理的,因為你畢竟是一個新手,執行測試用例是一個迅速熟悉當前測試工作的好機會,而且壓力也不大。因為在英語中執行測試用例是Run test case,所以有些公司把執行測試用例叫做“

Web UI 優化自動化測試的穩定性

     Web UI自動化測試的一個很重要的問題就是整個測試的穩定性,經常在執行測試的時候出現這樣或那樣的問題,而且大多都是穩定性問題,而非BUG,最近我針對同事的用例的穩定性問題做了些優化策略,

測試編寫及管理

前段時間將專案中的測試用例進行了一次大規模的整理,從工作量出發認識到了測試用例書寫及管理規範的重要性。規範的測試用例管理可以為後續的測試工作節約不小的工作量。 隨著網際網路時代的到來,專案迭代的頻率越來越快。測試用例的可持續性尤為重要。如何有效的將測試用例進行編寫及管理慢慢