【工作記錄】接口功能測試總結

?如何對1個接口進行接口測試

一、單接口功能測試

1、接口文檔信息

理解接口文檔的內容:

  • 請求URL:?https://[ip]:[port]/xxxserviceValidation

  • 請求方法: POST

  • 請求參數: serviceCode(必填), servicePsw(必填)

  • 響應參數: status, token

2、編寫測試用例

2.1 正常情況測試

用例1: 使用正確的serviceCode和servicePsw

  • 預期結果: status=200, 返回有效token?

# 接口請求
{
"serviceCode":"正確xxxxxx", "servicePsw":"正確xxxxxx",
}# 接口響應
{
"status":"200",
"token":"91a064fe-e17c-4910-90e0-e3d00fda2ca3"
}

2.2 異常情況測試

異常需從以下方面設計測試用例

注意點:多參數注意組合,如兩個字段為空驗證,需驗證都為空、1為空、2為空

  • 必填參數缺失:不傳必填參數,如{key:"value"}全部不傳

  • 參數值為空:傳空字符串,如{key:""}

  • 錯誤參數值:參數錯誤,如{key:"###特殊字符"}和類型錯誤{key:value}

  • 超長參數:例中接口無要求,如文本框要求輸入要求8-200限制,{key:"超出200"}

  • 超短參數:例中接口無要求,如文本框要求輸入要求8-200限制,{key:"3位123"}

必填參數缺失用例:

serviceCode為空,預期結果: status=300, 無token返回

# 接口請求
{
"servicePsw":"正確xxxxxx",
}# 接口響應
{
"status":"300",
}

參數值為空用例:

serviceCode為空,預期結果: status=300, 無token返回

# 接口請求
{
"serviceCode":"", "servicePsw":"正確xxxxxx",
}# 接口響應
{
"status":"300",}

錯誤參數值用例:

serviceCode錯誤,預期結果: status=300, 無token返回

# 接口請求
{
"serviceCode":"錯誤xxxxxx", "servicePsw":"正確xxxxxx",
}# 接口響應
{
"status":"300",
}

3、測試用例執行

如下圖對接口進行測試

執行測試用例:參數appkey為空校驗

預期:響應體應返回“請輸入appkey”

實際:非法訪問,與預期不符合

?

二、注冊接口功能測試

1、接口文檔信息

參數規則說明:

username:

1、字母、數字組成

2、長度2~20位

3、字母不區分大小寫

password:

1、長度8~20位

2、必須含有字母和數字

email:

標準的電子郵件的字符規則

2、編寫測試用例

2.1 正常情況測試

輸入合法的用戶名、密碼和郵箱,驗證能成功注冊并返回正確的userid。

2.2 異常情況測試

1、用戶名不符合規則:

輸入非字母數字組成的用戶名,驗證注冊失敗并返回相應的錯誤信息。

輸入長度小于2位的用戶名,驗證注冊失敗并返回相應的錯誤信息。

輸入長度大于20位的用戶名,驗證注冊失敗并返回相應的錯誤信息。

2、密碼不符合規則:

輸入不包含字母的密碼,驗證注冊失敗并返回相應的錯誤信息。

輸入不包含數字的密碼,驗證注冊失敗并返回相應的錯誤信息。

輸入長度小于8位的密碼,驗證注冊失敗并返回相應的錯誤信息。

輸入長度大于20位的密碼,驗證注冊失敗并返回相應的錯誤信息。

3、郵箱不符合規則:

輸入不符合標準email規則的郵箱,驗證注冊失敗并返回相應的錯誤信息。

4、參數缺失:

分別缺失用戶名、密碼、郵箱這三個參數中的一個,驗證注冊失敗并返回相應的錯誤信息。

5、參數為空:

分別為空用戶名、密碼、郵箱這三個參數中的一個,驗證注冊失敗并返回相應的錯誤信息。

6、參數類型錯誤:

分別將用戶名、密碼、郵箱的參數類型設為非String類型(如Number),驗證注冊失敗并返回相應的錯誤信息。

7、額外測試:

分別輸入字母相同,但是大小寫不同的用戶名,驗證第一次注冊應該成功,其他注冊都應該失敗。

輸入已經存在的用戶名或郵箱,驗證注冊失敗并返回相應的錯誤信息。

輸入不同大小寫組合的用戶名,驗證注冊成功并返回正確的userid。

?

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

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

相關文章

Linux中su與sudo命令的區別:權限管理的關鍵差異解析

💝💝💝歡迎蒞臨我的博客,很高興能夠在這里和您見面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內容和知識,也可以暢所欲言、分享您的想法和見解。 推薦:「storms…

樂觀鎖與悲觀鎖的實現和應用

樂觀鎖與悲觀鎖:原理、實現與應用詳解 在并發編程和數據庫操作中,樂觀鎖和悲觀鎖是兩種重要的并發控制策略,它們在原理、實現方式和應用場景上存在顯著差異。下面我們將通過圖文結合的方式,深入探討這兩種鎖機制。 一、基本概念 1…

ios蘋果系統,js 滑動屏幕、錨定無效

現象:window.addEventListener監聽touch無效,劃不動屏幕,但是代碼邏輯都有執行到。 scrollIntoView也無效。 原因:這是因為 iOS 的觸摸事件處理機制和 touch-action: none 的設置有關。ios有太多得交互動作,從而會影響…

Redis主從復制原理二 之 主從復制工作流程

概述 本文緊接「Redis主從復制的原理一 之 概述」,詳細介紹了Redis的主從服務過程及原理。 主從復制工作流程 主從復制過程大體可以分為3個階段: 建立連接階段(即準備階段)數據同步階段命令傳播階段 階段一:建立連接階…

Markdown基礎(1.2w字)

1. Markdown基礎 這次就沒目錄了,因為md格式太亂了寫示例,展示那些都太亂了,導致目錄很亂。 (我是XX,出現了很多錯誤,有錯誤和我說) 1.1 Markdown簡介 Markdown是一種輕量級的標記語言&#…

JAVA-springboot log日志

SpringBoot從入門到精通-第8章 日志的操作 一、Spring Boot默認的日志框架 SpringBoot支持很多種日志框架,通常情況下,這些日志框架都是由一個日志抽象層和一個日志實現層搭建而成的,日志抽象層是為記錄日志提供的一套標準且規范的框架&…

Vue 渲染 Markdown 文件完全指南

前言 大家好,我是一諾,今天分享的是vue中渲染markdown文件。這是一個常見的需求,比如用戶隱私協議頁、技術說明等文檔頁面~ 本文將詳細介紹如何在 Vue 中渲染 Markdown 文件,并美化代碼塊的顯示效果。 基礎概念 什么是 Markdo…

Science Robotics:UCLA 賀曦敏團隊綜述自主軟體機器人

在機器人中實現類似生命的自主性一直是研究的方向,但目前大多數軟體機器人仍依賴外部刺激操控來產生持續運動。為了實現能夠自我調節感知 、 決策和驅動的自主物理智能(autonomous physical intelligence,API),一種有前…

基于LangChain構建高效RAG問答系統:向量檢索與LLM集成實戰

基于LangChain構建高效RAG問答系統:向量檢索與LLM集成實戰 在本文中,我將詳細介紹如何使用LangChain框架構建一個完整的RAG(檢索增強生成)問答系統。通過向量檢索獲取相關上下文,并結合大語言模型,我們能夠…

【Java學習筆記】SringBuffer類(重點)

StringBuffer(重點) 1. 基本介紹 (1)StringBuffer是可變的字符序列,可以對字符串內容驚醒增刪 (2)很多方法喝String相同,但StringBuffer可變長度 (3)Strin…

計算機網絡領域所有CCF-A/B/C類期刊匯總!

本期小編統計了【計算機網絡】領域CCF推薦所有期刊的最新影響因子,分區、年發文量以及投稿經驗,供大家參考! CCF-A類 1 IEEE Journal on Selected Areas in Communications 【影響因子】13.8 【期刊分區】JCR1區,中科院1區TOP …

AI-Sphere-Butler之如何啟動AI全能管家教程(WSL測試環境下適用)

環境: Ubuntu20.04 WSL2 問題描述: AI-Sphere-Butler之如何啟動AI全能管家教程(WSL測試環境下適用) 解決方案: 打開管家大模型 1.運行大模型在cmd下輸入: ollama run qwen2.5-3bnsfwny運行管家 數字人運行腳本&#xff…

【python深度學習】Day 47 注意力熱圖可視化

知識點:熱力圖 作業:對比不同卷積層熱圖可視化的結果 一、概念 為了方便觀察輸出,將特征圖進行可視化。特征圖本質就是不同的卷積核的輸出,淺層指的是離輸入圖近的卷積層,淺層卷積層的特征圖通常較大,而深層…

C#語音識別:使用Whisper.net實現語音識別

C#語音識別:使用Whisper.net實現語音識別 在當今數字化時代,語音識別技術已廣泛應用于智能助手、語音轉文字、會議記錄等眾多領域。對于 C# 開發者而言,如何快速、高效地實現語音識別功能呢?今天,我們就來介紹一個強大…

開源分享|適合初創商家的餐飲系統,基于thinkphp8+element-plus

一、項目介紹 三勾餐飲點餐連鎖版系統是一個基于thinkphp8element-plusuniapp打造的面向開發的小程序商城的全面解決方案,旨在為連鎖餐飲企業提供高效的點餐與管理服務。該系統支持多端應用發布,包括微信小程序、H5、安卓及iOS平臺,實現數據…

rec_pphgnetv2完整代碼學習(一)

rec_pphgnetv2是paddleocr_v5中的重要改進,因此對其完整代碼進行學習十分之有必要。 一、IdentityBasedConv1x1 這段代碼定義了 IdentityBasedConv1x1 類,它是 PaddleOCRv5 中 rec_pphgnetv2 模型的關鍵改進之一。該層通過將恒等映射(Ident…

vue3+dify從零手擼AI對話系統

vue3dify從零手擼AI對話系統 前言 近年來,人工智能技術呈現爆發式增長,其應用已深度滲透至各行各業。甚至家里長輩們也開始借助AI工具解決日常問題。作為程序員群體,我們更應保持技術敏銳度,緊跟這波浪潮。 回溯求學時期&#xf…

robot_lab train的整體邏輯

Go2機器人推理(Play)流程詳細分析 概述 本文檔詳細分析了使用命令 python scripts/rsl_rl/base/play.py --task RobotLab-Isaac-Velocity-Rough-Unitree-Go2-v0 進行Go2機器人推理的完整流程,基于實際的代碼實現,包括模型加載、環境配置調整、推理循環…

Python Day45

Task: 1.tensorboard的發展歷史和原理 2.tensorboard的常見操作 3.tensorboard在cifar上的實戰:MLP和CNN模型 效果展示如下,很適合拿去組會匯報撐頁數: 作業:對resnet18在cifar10上采用微調策略下,用tens…

MySQL SQL 優化:從 INSERT 到 LIMIT 的實戰與原理

在數據庫驅動的現代應用中,SQL 查詢的性能直接決定了用戶體驗和系統效率。本文將深入探討 MySQL (特別是 InnoDB 存儲引擎)中常見的 SQL 性能瓶頸,并結合實際案例,詳細剖析從數據插入到復雜分頁查詢的優化策略與底層實…