前臺自動化測試:基于敏捷測試驅動開發(TDD)的自動化測試原理

一、自動化測試概述

自動化測試主要應用到查詢結果的自動化比較,把借助自動化把相同的數據庫數據的相同查詢條件查詢到的結果同理想的數據進行自動化比較或者同已經保障的數據進行不同版本的自動化比較,減輕人為的重復驗證測試。多用戶并發操作需要自動化模擬來保障大量用戶的執行操作,減少對影響資源的依賴。自動化在迭代1開始進行搭建,在迭代2能夠具備自動化能力。

二、測試目的

本文檔主要描述NPB的自動化測試粒度、原理及操作流程等。為以后開發人員開發測試用例提供指導。基于敏捷測試驅動開發(TDD)的原理,自動化測試主要達到以下三個主要目的:

1、測試驅動開發。先寫出針對測試用例,然后進行功能模塊開發。該方式可能加大了開發人員在開發前期的工作量,但是就總體來說,此方式會驅動開發人員更進一步熟悉業務需求,提早預知開發過程中可能出現的各種情況,為后期進入編碼測試提供便利。

2、減少或者避免由于模塊代碼更改,功能擴展等因素帶來的重復測試工作。

3、指導開發人員能夠更好的對代碼進行架構設計,為以后的測試用例的書寫,功能的擴展提供方便。

三、測試對象

NPB項目前臺部分的測試對象是業務層(service層),測試粒度為service層類的所有的或者主要的核心方法,鋪蓋粒度為:語句覆蓋(即開發人員提供的測試用例要能夠走通每一行代碼)。

四、測試環境

4.1外部環境

測試環境指的是測試用例的運行環境。測試環境與開發環境共用一個平臺。開發代碼和測試用例代碼分屬于不同的source file中,測試類與被測試類的包名稱相同,類名稱不同,這樣使得測試類和被測試類的.class文件位于相同的目錄中,測試類可以任意調用與測試相關的開發代碼而不會產生耦合或者依賴關系。借助測試工具(如Junit)進行自動化測試。

4.2 測試工具

NPB 擬采用 Junit 工具進行測試。Junit 是一種單元測試工具,能夠實現自動測試,對于一個要測試的方法,我們輸入其所需要的參數(自己構造),然后查看其返回是否符合我們的要求,用 Assert 的方法來比較返回的結果是否正確。

五、測試操作

測試操作主要包括流程圖和操作描述兩部分。以圖文的方式介紹一個測試流程。

5.1流程圖
在這里插入圖片描述

5.2 操作描述

目錄結構:

首先針對 service 層的每個類,寫一個 Junit 測試類,測試類要繼承 Junit 的 TestCase類,測試類位于獨立的測試包中。目錄結構如下圖所示:

在這里插入圖片描述

針對 service 層指定類的每一個方法寫一個測試方法或者多個方法對應一個測試方法。此方法要提供能夠覆蓋所有方法語句的入口參數,同時針對每一組入口參數要列出理想輸出,然后用斷言的方法來比較輸入是否與預想相符。

測試模塊:

NPB 項目會基于系統的核心模塊及實際開發情況進行測試,如系統維護(system management)等。

六、測試原理用例示例

下面以簡單示例的形式展現自動測試的原理:

現有一 service 層類 UserService,其包含多個方法如:insertUser()、updateUser()和QueryUserList()等 。

首先我們先了解下基于 iBATIS 持久層開發此方法的返回值問題,insert 操作會放回插入對象的 ID。而 update 操作和 delete 操作會返回更新或者刪除操作的條數。

測試用例的命名原則:

測試類的命名以被測試類名后添加 Test 命名。

基于 junit3.8 的測試方法要求是 public 的,無返回值(void),并且每個測試方法的名字以 test 開頭。

最后感謝每一個認真閱讀我文章的人,禮尚往來總是要有的,這些資料,對于【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:

這些資料,對于【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴上萬個測試工程師們走過最艱難的路程,希望也能幫助到你!?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/713083.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/713083.shtml
英文地址,請注明出處:http://en.pswp.cn/news/713083.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【開源】JAVA+Vue.js實現APK檢測管理系統

目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 數據中心模塊2.2 開放平臺模塊2.3 軟件檔案模塊2.4 軟件檢測模塊2.5 軟件舉報模塊 三、系統設計3.1 用例設計3.2 數據庫設計3.2.1 開放平臺表3.2.2 軟件檔案表3.2.3 軟件檢測表3.2.4 軟件舉報表 四、系統展示五、核心代…

pdfpages 宏包和 includepdf 使用問題

在 latex 中插入其他 pdf 文檔的頁時 \usepackage{pdfpages} % 插入 PDF 頁 \includepdf[pages-]{pg276-axi-hbm-en.pdf} 用 xelatex 編譯生成的 pdf 文檔內容會與原文檔內容不一致,文字位置對折等問題。 解決辦法: A 文檔中的某些…

springBoot整合Redis(二、RedisTemplate操作Redis)

Spring-data-redis是spring大家族的一部分,提供了在srping應用中通過簡單的配置訪問redis服務,對reids底層開發包(Jedis, JRedis, and RJC)進行了高度封裝,RedisTemplate提供了redis各種操作、異常處理及序列化,支持發布訂閱&…

Android:BitmapFactory.decodeStream Bitmap的內存優化OutOfMemory異常以后Crash閃退

自己項目中使用如下方法,有的手機上會奔潰報錯,原因是BitmapFactory.decodeStream部分沒有使用options參數改變內存大小 改成如下形式后正常了;正確解決方案:設置inSampleSize 一)Android BitmapFactory.decodeStream(…

C++利用匯編挖掘編程語言的本質..

1.謬論 很多非一手的資料特別是中文資料其實并不可靠 因為很多作者都是直接通過轉載他人的作品 也不管他人作品真與假 而且有一部分的作品中的言論和官方描述相去甚遠 有的則是翻譯的過程中出現了問題 比如sizeof很多人認為是一個函數 其實他并不是一個函數 而是一個運算符 是…

【FAQ】HarmonyOS SDK 閉源開放能力 —Push Kit

1.問題描述 升級到4.0.0.59版本后,通過pushService.getToken獲取華為的token時報如下錯誤:Illegal application identity. 解決方案 Mate 40 Pro (NOH) 從 4.0升級到4.1版本后,會出現UDID變化,影響歷史的調試簽名使用&#xff…

檔案數字化驗收流程

檔案數字化驗收流程通常包括以下步驟: 1. 確定驗收標準:制定檔案數字化驗收標準,明確要求檢查的內容、質量要求、驗收標準等。 2. 準備驗收環境:為檔案數字化驗收準備合適的環境,包括驗收場所、設備、人員等。 3. 準備…

vscode 引入外部依賴包

背景 我要在vscode中寫一些antlr代碼生成的cpp代碼,但是在引入頭文件#include "antlr4-runtime.h"的時候,出現報錯,顯示沒有這個頭文件,顯然這是我們沒有導入相關的包,因此我首先嘗試了將antlr4的依賴源碼在…

Semantic human matting

1.introduction 數據集包括,時尚模特數據集,超過18.8w張模特圖,從中選出35311張圖片,DIM數據集,僅包含人類的圖像,202個前景圖像,背景來自coco數據集和互聯網,背景圖不含人類&#x…

python 基礎知識點(藍橋杯python科目個人復習計劃56)

今日復習內容:做題 例題1:最小的或運算 問題描述:給定整數a,b,求最小的整數x,滿足a|x b|x,其中|表示或運算。 輸入格式: 第一行包括兩個正整數a,b; 輸出格式&#…

小烏龜操作Git

1、選擇小烏龜作為git客戶端 最近使用idea來操作git的時候頻頻出現問題,要么是提交代碼的時候少了某些文件,導致克隆下來無法運行,要么是提交速度太慢。 反正是在idea中操作git體驗非常不好,所以決定來換一種方式來操作git。從網…

藍橋杯算法題匯總

一.線性表:鏈式 例題:旋轉鏈表 二.棧: 例題:行星碰撞問題 三.隊列 三.數組和矩陣 例題:

FPGA-VGA成像原理與時序

什么是VGA: VGA, Video Graphics Array。即視頻圖形陣列,具有分辨率高、顯示速率快、顏色豐富等優點。VGA接口不但是CRT顯示設備的標準接口,同樣也是LCD液晶顯示設備的標準接口,具有廣泛的應用范圍。在FGPA中,常廣泛用于圖像處理等領域。 VGA 顯示器成像原理 在 VGA 標準剛興…

C語言 vs Rust應該學習哪個?

C語言 vs Rust應該學習哪個? 在開始前我有一些資料,是我根據網友給的問題精心整理了一份「C語言的資料從專業入門到高級教程」, 點個關注在評論區回復“888”之后私信回復“888”,全部無償共享給大家!!&am…

bun 文件類型

Typescript Bun 原生支持開箱即用的 TypeScript。所有文件在執行之前都由 Bun 的快速本機轉譯器即時轉譯。與其他構建工具類似,Bun 不執行類型檢查;它只是從文件中刪除類型注釋。 bun index.js bun index.jsx bun index.ts bun index.tsxBun 運行時行為的某些方面…

linux系統如何安裝nginx

首先下載nginx安裝包 wget -c http://nginx.org/download/nginx-1.23.1.tar.gz然后解壓安裝包 tar -zxvf nginx-1.23.1.tar.gz如果服務器沒有wget,可以安裝一下,有的話可以跳過 yum install -y wget 然后安裝相關依賴 yum install -y gcc-c zlib zl…

最新企微hook開源版

免費的企微框架 支持文本消息,圖片消息,視頻消息,文件消息。 其他可自行下載測試。 有興趣可以進群交流。720192224 。群內不定期開源氣味hook源碼 BOOL WxWorkSendData(string data) { WX_GETOBJDATA obj { 0 }; //參數結構…

MATLAB練習題:排隊論問題的模擬

?講解視頻:可以在bilibili搜索《MATLAB教程新手入門篇——數學建模清風主講》。? MATLAB教程新手入門篇(數學建模清風主講,適合零基礎同學觀看)_嗶哩嗶哩_bilibili 下面我們來看一道排隊論的題目。假設某銀行工作時間內只有一個…

Kubernetes/k8s的核心概念

一、什么是 Kubernetes Kubernetes,從官方網站上可以看到,它是一個工業級的容器編排平臺。Kubernetes 這個單詞是希臘語,它的中文翻譯是“舵手”或者“飛行員”。在一些常見的資料中也會看到“ks”這個詞,也就是“k8s”&#xff…

如何解決代理ip服務器連接問題

在當今的數字化時代,互聯網連接已成為生活和工作中不可或缺的一部分。然而,在嘗試訪問互聯網資源時,用戶有時會遇到“代理服務器可能有問題,或地址不正確(你尚未連接)”的錯誤提示。這種情況通常表明計算機的網絡設置存在問題&…