全天課-功能、接口測試

功能測試知識普及

一、測試框架

測試一個東西,需要有一個整體上的考慮,大概要測試哪些方面
需要列出一個模板。正常、異常和性能的,一般要多些,一般面試的時候寫40多條左右,面試官纔會覺得還可以。
面試題:

一、打印機如何測試,請寫出儘可能多的要點。

產品:
1 包裝
所有的配件、說明書等是否完整
2 外觀:
顏色、尺寸大小
3 打印的功能測試:
1)打印不同的文件類型
2)單面打、雙面打
3)打印不同的紙張大小
4)打印不同的紙張厚度,普通的紙張、照片紙
5)不同的單彩色、多色、單黑色
6)打印不同的內容(文字、圖片、文字和圖片的混合)
7)連續打印多個文件
8)用不同的方向打印
9)使用wifi、藍牙或者直連的方式連接打印機打
4 異常:
1)沒墨
2)卡紙
3)打印過程中停電了
4)打印過程中,取消掉所有打印的文件
5)打印過程中,沒紙了,插入紙張後是否可以恢復
6)打印過程中關機,是否可以正常
5 性能:
1)耐摔性
2)連續打印多少小時,機器熱量。。。。
3)打印的清晰度(圖片和文字等等)
4)耗電
5)耗墨
6 易用性:
1)安裝是否容易
2)打印時的操作提交是否方便
3)是否支持雙面打印
4)打印出來的紙張,有地方去自動存放
5)按鈕的擺放位置是否好用
6 按鈕的文字和提示是否清晰
7 兼容性:
1)電壓
2)不同的操作系統
3)不同的驅動(本打印的驅動)
4)在不同的溫度、溼度下
8 可維護性:
沒墨了,加墨是否方便便捷
卡紙了,是否好拿出來
打印壞了,是否好拆開
9 文檔:
說明書的內容是否完整可以指導操作,且真的和打印機的操作匹配
10 安全性

二、多線程測試,怎麼保證正確性
三、gmai的撤回郵件的功能

在這裏插入圖片描述

四、常用的測試用例設計方法

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
正交表按照最大的狀態因素來取值。如果要在正交表中找4個條件,狀態:條件裏面的最大值:4,4+4個狀態的組合,在正交表中找到4-4的,如果沒有就找最接近的,比如4-5的。
在這裏插入圖片描述
在這裏插入圖片描述
面試中可能被問道:
條件覆蓋:x>3 是否被執行一次 z<10是否被執行一次,微軟70%
條件組合覆蓋:x>3 t f 需要和z<10 t 和f,組合4種情況來進行測試。
語句覆蓋和判定覆蓋:
語句覆蓋的顆粒度比較大,兩個都是執行了if、、、else,但是關注的點不同,
Coverage
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

二、bug預防體系

針對大量重複出現的bug,如果能夠做到防患於未然
user agent是指用bai戶代理,簡稱 UA。

作用:使服務器能夠du識別客戶使用的操zhi作系統及版dao本、CPU 類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等。
網站常常通過判斷 UA 來給不同的操作系統、不同的瀏覽器發送不同的頁面,因此可能造成某些頁面無法在某個瀏覽器中正常顯示,但也可以通過改變UA繞過檢測。用於適配,獲取瀏覽器的版本。
在這裏插入圖片描述
在這裏插入圖片描述

三、接口測試

postman怎麼用
怎麼看接口文檔
怎麼用json串來進行接口測試。
接口:實現將外部請求發送到系統內部,將系統處理好的數據返回給客戶端的程序—》接口
接口:(客戶端:client)發出請求 -----》服務端(server)
本質:有一個請求----》服務端—》響應----》客戶端。
08年,第一次聽說的是接口。
微服務架構:
每個服務都是互相獨立的,解耦。你服務死了,不影響別人
每個服務都提供一部分功能
每個服務可以獨立開發和運維管理。
json串:
{“name”:“孫千麗”,“password”:“dkehdch”},本質就是一個字符串。
json是可以在網絡上傳輸的。字典可以麼?不行
字典只能在python裏面認出來,json 可以在所有的系統認出來。
app web wap h5 小程序:5種客戶端展現的數據都一樣,
展現的形式不一樣。
我通過接口提供統一的管理數據的平臺:對數據的規範管理
增、刪、改、查,用統一的一套規則管理所有的業務數據。
做到所有的數據是一致的。
{“username”:“wulaoshiwansui”,“password”:“12345678222abc”,“email”:“[email protected]”}
29e32134ec021ff1dd72dfa194caa663
http://39.106.41.11:8080/register/
在這裏插入圖片描述
1、註冊接口:
url:
http://39.106.41.11:8080/register/
post
{“username”:“wl1”,“password”:“12345678222abc”,“email”:“[email protected]”}
返回結果:
{“code”: “00”, “userid”: 385}
在這裏插入圖片描述
2、登錄接口
2、url:
http://39.106.41.11:8080/login/
post
{“username”:“wl1”,“password”:“29e32134ec021ff1dd72dfa194caa663”}
返回結果:
{“token”: “d3e98c67cbe0e328c093c202830e6558”, “code”: “00”, “userid”: 385, “login_time”: “2020-06-13 16:49:52”}
在這裏插入圖片描述
md5:哈希算法,單向加密
輸入任意不同的字符串,可以算出來一個唯一的32位字符串與之對應,
算法保證只要輸入不同,那麼md5的值一定是不同的。
輸入的內容和輸出的32位的串一一對應。
用途:
1 密碼加密。
2 文件的完整性驗證。

文件下載:文件的內容是很多二進制的字符串內容。
下載前,我用文件所有的二進制內容字符串算出了一個md5值1。
下次後,我用下載文件所有的二進制內容字符串再算出了一個md5值2。

如果m51==md52,一個字符都沒有錯,說明文件被完整的下載了。
如果有個1字符不一樣,那麼md52肯定也和md51對不上。就可以文件下載出錯了。
我一直有個問題,md5解密之後不是可以用了嗎

字符串----》md5,反之不行。算法不支持的。
各種計算資源:窮舉所有的字符組合。
常用所有數字組合----》md5,md5的值根據以前庫裏面存的記錄,看看這個
md5是對應哪個數字。-----對撞。
前提:庫裏面提前算過你這個md5值就可以找出來。
3、新建博文:
url:
http://39.106.41.11:8080/create/
post
{“userid”:385, “token”: “d3e98c67cbe0e328c093c202830e6558”, “title”:“python教程”, “content”:“python port test學習”}
返回結果:
{“data”: [{“content”: “python port test\u5b66\u4e60”, “title”: “python\u6559\u7a0b”}], “code”: “00”, “userid”: 385}
在這裏插入圖片描述
4、查詢博文:
4、url:
http://39.106.41.11:8080/getBlogsOfUser/
post
{“userid”:385, “token”: “d3e98c67cbe0e328c093c202830e6558”}
返回結果:
{“data”: [{“update_time”: null, “title”: “python\u6559\u7a0b”, “content”: “python port test\u5b66\u4e60”, “articleId”: 6740, “owner”: 385, “posted_on”: “2020-06-13 17:08:33”}, {“update_time”: null, “title”: “python\u6559\u7a0b”, “content”: “python port test\u5b66\u4e60”, “articleId”: 6738, “owner”: 385, “posted_on”: “2020-06-13 17:07:15”}, {“update_time”: null, “title”: “python\u6559\u7a0b”, “content”: “python port test\u5b66\u4e60”, “articleId”: 6737, “owner”: 385, “posted_on”: “2020-06-13 17:05:52”}], “code”: “00”, “userid”: 385}
在這裏插入圖片描述
5、修改博文:
5、url:
http://39.106.41.11:8080/update/
put
{“userid”:385, “token”: “d3e98c67cbe0e328c093c202830e6558”,“articleId”:6740, “title”:“wulaoshi —python”, “content”:“wulaoshi —test test”}
返回結果:
{“articleId”: 6740, “update_time”: “2020-06-13 17:15:35”, “code”: “00”, “userid”: 385}
在這裏插入圖片描述
6、查詢博文內容接口:
url:
http://39.106.41.11:8080/getBlogContent/
get
http://39.106.41.11:8080/getBlogContent/6740
返回結果:
{“code”: “00”, “data”: [{“update_time”: “2020-06-13 17:16:10”, “title”: “wulaoshi —python”, “content”: “wulaoshi —test test”, “articleId”: 6740, “owner”: 385, “posted_on”: “2020-06-13 17:08:33”}]}
7、批量查詢接口:
url:
http://39.106.41.11:8080/getBlogsContent/
get
http://39.106.41.11:8080/getBlogsContent/articleIds=6739,6740
返回結果:
{“code”: “00”, “data”: [{“update_time”: “2020-06-13 17:16:55”, “title”: “sunqianli —python”, “content”: “sunqianli —test test”, “articleId”: 6739, “owner”: 381, “posted_on”: “2020-06-13 17:08:17”}, {“update_time”: “2020-06-13 17:16:10”, “title”: “wulaoshi —python”, “content”: “wulaoshi —test test”, “articleId”: 6740, “owner”: 385, “posted_on”: “2020-06-13 17:08:33”}]}
8、url:
http://39.106.41.11:8080/delete/
post
{“userid”:385, “token”: “d3e98c67cbe0e328c093c202830e6558”,“articleId”:[6740,6739]}
返回結果:
{“articleId”: [6740, 6739], “code”: “00”, “userid”: 385}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章