接口測(cè)試系列② | 接口測(cè)試開(kāi)發(fā)學(xué)習(xí)總結(jié)

接口測(cè)試開(kāi)發(fā)總結(jié)_公眾號(hào)封面首圖_2019.07.25.png

[APT@1907]_接口測(cè)試開(kāi)發(fā)學(xué)習(xí)總結(jié)_190724

00. 文檔介紹

  • 作者:立師兄Linty(劉挺立)(wx:13017716416)
  • 內(nèi)容:針對(duì)【1907期】接口測(cè)試開(kāi)發(fā)學(xué)習(xí)的課程總結(jié)以及筆記記錄
  • 時(shí)間:2019.7.24
  • 鏈接:https://mubu.com/doc/2LIGlptp0g

01. 敏捷流程

項(xiàng)目迭代

  • 敏捷:agile蛾坯,是一系列的項(xiàng)目的方法論宫屠,如何項(xiàng)目做好
  • 目前的敏捷工具
    • TAPD:騰訊的 https://www.tapd.cn/
      image
      • 項(xiàng)目:面向產(chǎn)品經(jīng)理
        • 需求
      • 迭代:面向項(xiàng)目經(jīng)理
        • 任務(wù)
        • 發(fā)布
        • 計(jì)劃:在迭代中創(chuàng)建測(cè)試計(jì)劃
          • 用例:在測(cè)試計(jì)劃中編寫(xiě)(或者關(guān)聯(lián))測(cè)試用例
          • 缺陷:在測(cè)試計(jì)劃中執(zhí)行測(cè)試用例宠蚂,失敗的轉(zhuǎn)為BUG
          • 報(bào)告:在測(cè)試計(jì)劃中生成詳細(xì)的測(cè)試報(bào)告
    • 云效:阿里的 https://www.aliyun.com/product/yunxiao
      image
    • JIRA:大公司最常用的静稻,付費(fèi)的,美國(guó)的
      • 定制能力很強(qiáng)
        • 根據(jù)公司的研發(fā)流程定制任何形式的軟件
        • 可以敏捷
        • 可以瀑布
        • 可以雙V
        • 可以螺旋
    • 禪道:青島的壹士,前阿里員工開(kāi)發(fā)的役听,免費(fèi)的
      • 阿里的思路
        • 產(chǎn)品:產(chǎn)品經(jīng)理關(guān)注
          • 計(jì)劃
          • 發(fā)布
          • 需求
        • 項(xiàng)目(迭代)
          • 任務(wù)
          • 提測(cè)
        • 測(cè)試
          • 版本
          • 計(jì)劃
          • 用例
          • 缺陷
      • 偏基礎(chǔ)雳窟,大而全。
      • 用的公司多
      • 文檔和視頻很全
    • Tuleap:https://www.tuleap.org/
    • Rally:https://www.ca.com/us/products/ca-agile-central.html

用戶故事

  • User Story票腰,描述需求
    • 角色
    • 功能
    • 價(jià)值
    • 模板:作為一個(gè)xx用戶城看,我希望有xx功能,以便實(shí)現(xiàn)xx價(jià)值
  • Feature杏慰,特性
    • 一個(gè)特性可以有 多個(gè) 用戶故事

工件會(huì)議

  • Backlog
    • Product Backlog:產(chǎn)品的待開(kāi)發(fā)清單
    • Sprint Backlog:迭代的待開(kāi)發(fā)清單
  • kanban:任務(wù)進(jìn)度
    • 未開(kāi)始的
    • 進(jìn)行中的
    • 已完成的
  • 燃燒圖测柠,燃盡圖,burn down chart
  • 每日站會(huì)
    • 我昨天完成了什么
    • 我今天要做好什么
    • 我當(dāng)前遇到什么問(wèn)題
  • 總結(jié)會(huì):一個(gè)迭代完成以后缘滥,發(fā)布了版本轰胁,總結(jié)
    • 我做的好的地方
    • 我做的不好的地方
  • 計(jì)劃會(huì):產(chǎn)品經(jīng)理 + 項(xiàng)目經(jīng)理
    • 上半場(chǎng):講需求,我們問(wèn)需求的細(xì)節(jié)(輸入的標(biāo)準(zhǔn)朝扼,輸出的影響)
    • 下半場(chǎng):分任務(wù)赃阀,我們要估計(jì)時(shí)間

參考筆記

02. 持續(xù)集成

代碼管理

  • Git:分布式,只要 clone 了吟税,就和服務(wù)器的倉(cāng)庫(kù)一樣
    • clone
    • pull
    • commit
    • add
    • push
    • revert : 撤回
    • cleanup:清理
  • SVN:集中式凹耙,無(wú)論怎么做旱幼,服務(wù)器是全的,其他人都是一部分霎终。連不上服務(wù)器瓦侮,連你那一部分也看不到
    • check out
    • update
    • commit
    • add
    • push
    • revert : 撤回
    • cleanup:清理

持續(xù)測(cè)試

  • 敏捷模式的測(cè)試的常態(tài)
  • 持續(xù)
    • 新的功能
    • 修復(fù)缺陷
  • 接受變化
  • 小步快跑
  • 工具:Jenkins
    • 開(kāi)發(fā):構(gòu)建版本,發(fā)布版本
      • 開(kāi)發(fā)提交代碼
      • Jenkins 拉取代碼
      • 構(gòu)建代碼(一般是 maven意述,ant提佣,gradle)
      • 發(fā)布 deploy:復(fù)制構(gòu)建好的 *.war 到 tomcat 或者 jetty 這樣服務(wù)器
        • 停止服務(wù)器
        • 備份老的 *.war 包
        • 備份配置文件
        • 備份數(shù)據(jù)庫(kù)腳本
        • 更新新的 *.war 包
        • 變更配置文件
        • 更新數(shù)據(jù)庫(kù)腳本
        • 啟動(dòng) 服務(wù)器
    • 測(cè)試:冒煙測(cè)試,在線監(jiān)控荤崇,回歸測(cè)試(不多拌屏,手工居多)
      • 測(cè)試提交測(cè)試腳本
      • Jenkins 拉取腳本
      • Jenkins 執(zhí)行腳本
    • Jenkins 任務(wù)(工程、job术荤、item)視角
      • 配置
        • 源代碼
        • 觸發(fā)構(gòu)建
          • 提交代碼就觸發(fā)構(gòu)建(插件支持)
          • 定時(shí)構(gòu)建 periodically
            image
            image
            • TZ=Asia/Shanghai:時(shí)區(qū)
            • 五個(gè)部分
              • H(0-29)/10:分鐘
                • H 是hash倚喂,任意一次開(kāi)始之后算起
                • 如果沒(méi)有執(zhí)行,從 01 分開(kāi)始
                • (0-29)/10 每個(gè)小時(shí)的 第 0分鐘 到 第29分鐘瓣戚,每10分鐘執(zhí)行一次
              • 9-19:小時(shí)端圈,每天的 9點(diǎn)到19點(diǎn)執(zhí)行,其他時(shí)間不執(zhí)行
                • day of month:每個(gè)月幾號(hào)執(zhí)行子库,* 是每一天
                • month:幾月執(zhí)行舱权,* 是每個(gè)月
                • week:星期幾執(zhí)行,* 是星期1-7
          • 在別的指定的任務(wù)構(gòu)建完成后仑嗅,開(kāi)啟
            image
        • 構(gòu)建
        • 構(gòu)建之后
          • 發(fā)郵件
            image

參考筆記

03. 需求分析

實(shí)體分析

  • Entity 實(shí)體
    • 被測(cè)試的對(duì)象有哪些實(shí)體
    • 關(guān)聯(lián)的對(duì)象有哪些實(shí)體
  • 對(duì)號(hào)入座:無(wú)論是被測(cè)試的宴倍,還是關(guān)聯(lián)的,每一個(gè)實(shí)體對(duì)應(yīng)的
    • 增加
    • 刪除
    • 修改
    • 查看
    • 列表
  • 被測(cè)試的有多少個(gè)實(shí)體
  • 被測(cè)試的每個(gè)實(shí)體都有哪些對(duì)號(hào)入座
  • 都有哪些關(guān)聯(lián)的實(shí)體
  • 下一步:確定測(cè)試范圍

測(cè)試范圍

  • 界面
    • 展示:純看
    • 操作:交互:鼠標(biāo)仓技、鍵盤(pán)鸵贬、掃描
  • 功能(重點(diǎn))
    • 前提
      • 關(guān)聯(lián)
      • 登錄
      • 權(quán)限
    • 描述
      • 合法輸入
      • 唯一屬性
  • 數(shù)據(jù)
    • 數(shù)據(jù)庫(kù)表對(duì)應(yīng)實(shí)體
    • 后臺(tái)數(shù)據(jù)查看
    • 抓包數(shù)據(jù):在客戶端的視角,看前端到后端的過(guò)程

參考筆記

04. 測(cè)試設(shè)計(jì)

測(cè)試場(chǎng)景

  • 有效
    • 合法輸入:輸入輸出(最基本的測(cè)試)
    • 復(fù)雜場(chǎng)景
      • 流程長(zhǎng)浑彰,在中間的節(jié)點(diǎn):放棄 或者 下一步
      • 使用關(guān)聯(lián)數(shù)據(jù)
      • 效果影響
  • 無(wú)效
    • 非法輸入
    • 合法輸入恭理,業(yè)務(wù)不匹配
      • 使用了錯(cuò)誤的關(guān)聯(lián):導(dǎo)致臟數(shù)據(jù):關(guān)聯(lián)
      • 前提不對(duì):不登錄,或者沒(méi)權(quán)限:前提
      • 操作不存在(已更新的)數(shù)據(jù):效果

測(cè)試方法

  • 手工
    • 覆蓋哪些場(chǎng)景
    • 工具
    • 方法
    • 造數(shù)
  • 自動(dòng)化
    • 覆蓋哪些場(chǎng)景
    • 工具
    • 方法
    • 造數(shù)
  • 自動(dòng)化測(cè)試的覆蓋率
  • = 自動(dòng)化測(cè)試用例數(shù) / 總用例數(shù)
  • = 自動(dòng)化測(cè)試場(chǎng)景數(shù) / 總場(chǎng)景數(shù)
  • 考慮
    • 成本:人工時(shí)間郭变,設(shè)備資源
    • 風(fēng)險(xiǎn):技術(shù)難度
  • 介紹測(cè)試方法的維度
    • 黑盒颜价、白盒、灰盒
    • 靜態(tài)诉濒、動(dòng)態(tài)
    • 單元周伦、集成、冒煙未荒、系統(tǒng)专挪、驗(yàn)收
    • 功能、性能、安全寨腔、兼容速侈、易用、精準(zhǔn)
    • 手工迫卢、自動(dòng)化(從測(cè)試的執(zhí)行角度)

參考筆記

05. 接口原理

接口場(chǎng)景

  • APP 調(diào)用自己的接口
    • 測(cè)試接口可以集中 “有效場(chǎng)景”
  • 使用第三方的接口
    • 測(cè)試接口要重點(diǎn)測(cè)“無(wú)效場(chǎng)景”

接口原理

  • 請(qǐng)求
  • 響應(yīng)
  • 接口的協(xié)議:HTTP
  • 還有
    • dubbo
    • kafka

參考筆記

06. 測(cè)試工具

Postman

  • 輸入
    • 方法
    • url
    • params( 處理 URL)
    • authorization
    • body
    • test(JavaScript)
  • 環(huán)境變量 Environment
  • 在線監(jiān)控

JMeter

  • JMeter 可以不會(huì)
  • 線程組
  • HTTP 請(qǐng)求
  • JSON 斷言
  • JSON 關(guān)聯(lián)
  • 查看結(jié)果樹(shù)
  • 請(qǐng)求頭管理器
  • 測(cè)試報(bào)告
  • CSV
  • 循環(huán)控制器

定制方案

  • base:一大堆方法倚搬、封裝的各種類(lèi)
    • build_request()
    • build_logger()
    • read_csv()
    • read_txt()
    • read_json()
    • read_yaml()
    • BoxRequest
    • JsonHelper
    • Logger
  • page:
    • ApiPage
      • 寫(xiě)業(yè)務(wù),要繼承ApiPage
      • _parse_http_resp()
      • _handle_params()
  • case:
    • ApiCase
      • 寫(xiě)用例要繼承 ApiCase
      • 三個(gè)部分
        • 讀CSV
        • 準(zhǔn)備:pytest.fixture
          • init_logger()
          • init_request()
          • yield
          • wait()
        • 步驟:pytest.mark.parametrize乾蛤, allure.tag, title, testcase, story, feature, serverity...level
          • 解析 CSV 輸入
          • 調(diào)用場(chǎng)景
          • 寫(xiě)日志記錄 info()
          • 解析CSV 期望每界,場(chǎng)景結(jié)果:做斷言
            • assert_equal()
            • assert_int_equal()
            • assert_decimal_equal()
            • assert_in()
            • assert_json_equal()
            • assert_loop_equal()
            • 斷言失敗會(huì)截圖:
              • @allure.step
              • JSON
              • 請(qǐng)求
              • 響應(yīng)
          • 可能會(huì)有關(guān)聯(lián):場(chǎng)景結(jié)果作為下一個(gè)步驟的輸入
  • runner:bat 文件
    • pytest
    • allure generate
  • 規(guī)則
    • 測(cè)試用例
    • 文件名一致
      • py
      • csv
      • yaml
    • 方法名 = 文件名
    • 類(lèi)名 = 大駱駝(文件名):駝峰命名法
    • 全局變量 可以用 _ 或者 __ 開(kāi)頭
    • 方法:動(dòng)詞 + 名詞 或者只有動(dòng)詞
    • 代碼要格式化
      • code | reformat code
      • 注釋?zhuān)簩?xiě)完整
        • 寫(xiě)注釋?zhuān)鹤饔美眄槍?xiě)代碼的思路

參考筆記

07. 數(shù)據(jù)驗(yàn)證

SQL查詢(xún)

  • 重點(diǎn)是思路
  • 思路 = 分步思路 + 關(guān)聯(lián)
  • WHERE
  • ORDER BY
  • GROUP BY ... HAVING
  • INNER (LEFT)JOIN ... ON
  • 子查詢(xún)
  • 創(chuàng)建表、插入數(shù)據(jù)家卖、刪除表眨层、刪除數(shù)據(jù)、修改表上荡、修改數(shù)據(jù)

備份恢復(fù)

  • 寫(xiě)出 bat 腳本
  • 備份:mysqldump
  • 恢復(fù):source

Fiddler抓包

  • 抓包 HTTPS
  • 抓包 手機(jī)

參考筆記

08. 缺陷定位

前端后端

  • 前端:客戶端
    • 瀏覽器:只要在瀏覽器看到的部分趴樱,全部是前端
      • 后臺(tái)也是前端
    • APP:手機(jī)的部分,原生APP 榛臼,也包括 H5伊佃,都是前端
    • 桌面版程序
  • 后端
    • 應(yīng)用服務(wù)器
      • 日志問(wèn)題
      • Java 問(wèn)題
      • PHP 問(wèn)題
      • C#/ .NET (dot net)
    • 數(shù)據(jù)庫(kù)服務(wù)器:數(shù)據(jù)庫(kù)問(wèn)題
  • 區(qū)分:
    • 抓包區(qū)分
      • 請(qǐng)求錯(cuò)誤:前端
      • 響應(yīng)錯(cuò)誤:后端
    • 分析日志
      • 分析程序產(chǎn)生的日志
      • 日志包含了請(qǐng)求和響應(yīng)

業(yè)務(wù)邏輯

  • 關(guān)聯(lián)
  • 前提
  • 效果

日志分析

  • 看請(qǐng)求
  • 看SQL
  • 找ERROR(例如Java 的:exception)
    • ERROR
    • ERR
    • EXCEPTION

參考筆記

09. 求職面試

面試思路

  • 準(zhǔn)備主要介紹什么
  • 分別在什么階段介紹
    • 自我介紹
    • 職責(zé)描述
    • 技術(shù)能力

詢(xún)問(wèn)職責(zé)

  • 弄明白面試的職位的需求:
    • 對(duì)方想招什么樣人的
    • 對(duì)方想要解決什么問(wèn)題
  • 讓自己合適

轉(zhuǎn)移難題

  • 好的辦法:借此問(wèn)對(duì)方在項(xiàng)目中的使用情況
  • 進(jìn)行反問(wèn):提供幾個(gè)你認(rèn)為是類(lèi)似的,讓對(duì)方選

針對(duì)發(fā)問(wèn)

  • 人事:
    • 我們測(cè)試團(tuán)隊(duì)規(guī)模怎么樣
    • 我們公司人員流動(dòng)性大么
    • 我們公司社保公積金按什么基數(shù)交沛善,公積金的比例
    • 我們公司怎么扣稅
    • 公司對(duì)測(cè)試崗位的職業(yè)規(guī)劃是怎么安排的,級(jí)別塞祈,調(diào)薪
  • 技術(shù)
    • 開(kāi)發(fā)
      • 目前開(kāi)發(fā)和測(cè)試是一種什么工作流程
        • 先開(kāi)發(fā)好金刁,集中測(cè)
        • 還是互聯(lián)網(wǎng)的敏捷,開(kāi)發(fā)一點(diǎn)就測(cè)試一點(diǎn)
      • 會(huì)不會(huì)測(cè)試沒(méi)有時(shí)間執(zhí)行測(cè)試议薪,開(kāi)發(fā)延誤
    • 測(cè)試主管
      • 團(tuán)隊(duì)的測(cè)試有多少個(gè)人尤蛮,開(kāi)發(fā)有多少個(gè)人
      • 我們現(xiàn)在主要測(cè)試什么項(xiàng)目?后端斯议?數(shù)據(jù)庫(kù)产捞?接口?APP的哼御?WEB的坯临?
      • 有沒(méi)有使用一些編程,工具恋昼,源代碼管理看靠,Jenkins 這些?
  • 老板
    • 制造一些機(jī)會(huì)液肌,聽(tīng)老板吹牛
    • 公司用人看重哪些方面

參考筆記

10. Selenium

參考筆記

11. Linux

參考筆記

12. MySQL

參考筆記

13. Python

參考筆記

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末挟炬,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌谤祖,老刑警劉巖婿滓,帶你破解...
    沈念sama閱讀 206,013評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異粥喜,居然都是意外死亡空幻,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)容客,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)秕铛,“玉大人,你說(shuō)我怎么就攤上這事缩挑〉剑” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,370評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵供置,是天一觀的道長(zhǎng)谨湘。 經(jīng)常有香客問(wèn)我,道長(zhǎng)芥丧,這世上最難降的妖魔是什么紧阔? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,168評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮续担,結(jié)果婚禮上擅耽,老公的妹妹穿的比我還像新娘。我一直安慰自己物遇,他們只是感情好乖仇,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著询兴,像睡著了一般乃沙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上诗舰,一...
    開(kāi)封第一講書(shū)人閱讀 48,954評(píng)論 1 283
  • 那天警儒,我揣著相機(jī)與錄音,去河邊找鬼眶根。 笑死蜀铲,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的汛闸。 我是一名探鬼主播蝙茶,決...
    沈念sama閱讀 38,271評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼诸老!你這毒婦竟也來(lái)了隆夯?” 一聲冷哼從身側(cè)響起钳恕,我...
    開(kāi)封第一講書(shū)人閱讀 36,916評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蹄衷,沒(méi)想到半個(gè)月后忧额,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,382評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡愧口,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評(píng)論 2 323
  • 正文 我和宋清朗相戀三年睦番,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耍属。...
    茶點(diǎn)故事閱讀 37,989評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡托嚣,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出厚骗,到底是詐尸還是另有隱情示启,我是刑警寧澤,帶...
    沈念sama閱讀 33,624評(píng)論 4 322
  • 正文 年R本政府宣布领舰,位于F島的核電站夫嗓,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏冲秽。R本人自食惡果不足惜舍咖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望锉桑。 院中可真熱鬧排霉,春花似錦、人聲如沸刨仑。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,199評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)杉武。三九已至,卻和暖如春辙售,著一層夾襖步出監(jiān)牢的瞬間轻抱,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,418評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工旦部, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留祈搜,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,401評(píng)論 2 352
  • 正文 我出身青樓士八,卻偏偏與公主長(zhǎng)得像容燕,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子婚度,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評(píng)論 2 345