日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

软件测试工程师必备技能

發(fā)布時間:2023/12/16 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件测试工程师必备技能 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

軟件測試工程師的技能樹

軟件測試工程師是一個歷史很悠久的職位,可以說從有軟件開發(fā)這個行業(yè)以來,就開始有了軟件測試工程師的角色。隨著時代的發(fā)展,軟件測試工程師的角色和職責也在悄然發(fā)生著變化,從一開始單純的在瀑布式開發(fā)流程中擔任測試階段的執(zhí)行者,到敏捷開發(fā)流程中QA(Quality Assurance)角色,為整個團隊和產(chǎn)品的質(zhì)量負責,測試工程師的職責和邊界不斷的擴大。近年來互聯(lián)網(wǎng)行業(yè)的很多測試工程師被稱為是測試開發(fā)工程師,也就是要具備自動化測試和測試工具開發(fā)能力的測試工程師,可以說是對測試工程師的能力要求達到了一個新的高度。

相信有過測試工作經(jīng)驗的同學都會深有體會,不管是瀑布式還是agile模式,測試人員的工作總是被壓在產(chǎn)品發(fā)布的最后階段,整個團隊的壓力似乎都壓在測試工程師身上,沒有人會理會開發(fā)過程中產(chǎn)生的延誤,因為那已經(jīng)過去,可以在retro meeting的時候diss,但是目前最重要的問題是完成產(chǎn)品的發(fā)布上線。所以在尋找測試工程師需要什么技能之前,測試工程師的核心問題是什么,這是我們要搞清楚的。

測試工程師面臨的核心問題
如何以最小的投入,最大程度保證產(chǎn)品的質(zhì)量

這個問題相信大家都有所體會,商業(yè)社會追求的就是效率,甚至是極致的效率。測試工程師也不能例外,不管是叫測試工程師,QA,或者是聽著高大上的測試開發(fā)工程師,其實老板們的目標是一致的,就是在盡可能少的投入,最大程度保證產(chǎn)品的質(zhì)量。說得現(xiàn)實一點,你的薪資水平就取決于你能解決這個核心問題的能力。
明確了我們的目標,我們所需要的能力,也是圍繞著這一個目標來設(shè)定的。

概述

按照筆者的經(jīng)驗和理解,一個軟件測試工程師需要具備以下的技能:

測試設(shè)計能力
代碼能力
自動化測試技術(shù)
質(zhì)量流程管理
行業(yè)技術(shù)知識
數(shù)據(jù)庫
業(yè)務(wù)知識


測試設(shè)計


作為一名測試工程師,最基礎(chǔ)的能力應(yīng)該就是根據(jù)產(chǎn)品來設(shè)計測試用例的能力。最基礎(chǔ)的能力往往也是最難做到精通的能力。要設(shè)計好的測試用例,需要對產(chǎn)品的特性和業(yè)務(wù)非常的熟悉,對用戶的使用場景有著系統(tǒng)化的思考。除此之外,還有一些科學的測試用例設(shè)計方法可以幫助我們設(shè)計規(guī)范化的用例,而不是僅僅根據(jù)經(jīng)驗或者天馬行空的想法來設(shè)計用例。
業(yè)界有一些經(jīng)典的測試用例設(shè)計方法需要測試工程師掌握:

邊界值分析
等價類劃分
因果圖
判定表
正交實驗設(shè)計
上述的這些方法并不是教條,而是幫助我們理清測試用例設(shè)計的思路和提高效率的工具。

代碼能力


在傳統(tǒng)的思維中,對測試人員的代碼能力要求似乎不是很高,在業(yè)界確實也是這樣的。很多測試工程師基本上不具備代碼的能力,更多是測試的執(zhí)行者。
但是在當今這個時代下,要想突破傳統(tǒng)功能測試人員的天花板,代碼能力是必須的。
具備代碼能力的測試工程師有這樣兩個優(yōu)勢:

閱讀開發(fā)代碼


如果能夠具備閱讀開發(fā)代碼的能力,對于提高測試人員的效率是很有幫助的,它可以幫助我們做到這些一些事情

通過開發(fā)修改的代碼預(yù)估影響的范圍,即測試的范圍
參加技術(shù)評審,預(yù)估測試的風險,難點,重點
通過代碼的邏輯設(shè)計測試用例,強化測試用例的覆蓋程度
對缺陷進行初步的定位
其實可以做到的事情還有很多,體現(xiàn)在測試過程的很多細節(jié)當中

自動化測試的開發(fā)


自動化測試是測試發(fā)展的方向,也是提高效率的有效方法。具備了代碼能力,你可以輕松的駕馭各種流行的自動化測試框架和用例開發(fā)。

自動化測試


接著上面關(guān)于自動化測試的討論。在目前的熱門公司的招聘中,自動化能力已經(jīng)是必備的能力,也是大家很關(guān)注的一個領(lǐng)域。
目前可以粗略的把自動化測試分為這么幾類:

UI自動化


UI自動化實現(xiàn)的目標是模擬人在產(chǎn)品UI界面上的操作,從而觀察結(jié)果來完成測試的執(zhí)行。UI自動化也可以從客戶端的形態(tài)上分為PC端和移動端的自動化測試,有這樣一些著名的自動化工具需要我們掌握:

Selenium


Selenium是一個很經(jīng)典的WEB端產(chǎn)品的UI自動化工具,針對不同的開發(fā)語言都有很好的支持。它的原理簡單來說就是通過WebDriver把腳本產(chǎn)生的操作指令傳遞到瀏覽器,執(zhí)行我們需要的操作并且獲取相應(yīng)的反饋,在腳本中完成校驗。

Appium


從這個名字就可以看出這個工具和Selenium的相似之處。其實Appium可以理解為就是移動端的Selenium。同樣也是在移動端模擬人的操作來實現(xiàn)執(zhí)行測試用例的目的。
隨著移動互聯(lián)網(wǎng)時代的到來,更多的業(yè)務(wù)已經(jīng)從PC的WEB端轉(zhuǎn)移到了移動端,移動端的自動化測試越來越重要。

其實UI的自動化實現(xiàn)的原理都是很類似的,基本的邏輯都是:

定位元素
操作元素
獲取反饋
最后通過某種測試用例框架來管理測試用例,例如python的unittest,JAVA的TestNG,Ruby的respec等等。
所以說了解了某一種UI自動化的框架和工具,很容易的就能觸類旁通的學習新的框架和工具。

接口自動化


在目前SaaS成為主流的情況下,API,即接口,成為了支撐業(yè)務(wù)的核心部分。前端頁面和App里面的業(yè)務(wù)數(shù)據(jù)都是通過各種API與服務(wù)器進行通信,從而實現(xiàn)業(yè)務(wù)功能。
目前大多數(shù)的接口都是基于HTTP協(xié)議的,其中Restful的接口又占大多數(shù)。而很多語言,例如Python和Ruby都有很好的庫來支持HTTP協(xié)議的請求,這就為我們設(shè)計接口自動化提供了很好的基礎(chǔ)。
回到我們的核心問題,投入產(chǎn)出比的衡量。UI的自動化無論是從實現(xiàn)的成本還是維護的成本來說都是巨大的,所以業(yè)界越來越把重心放到了接口層的自動化實現(xiàn)上。
接口的自動化具備這樣的優(yōu)勢:

運行效率高
開發(fā)成本低
維護成本低
可以與開發(fā)代碼同步開發(fā)
接口自動化的實現(xiàn)思路也是簡單明了的,那就是模擬瀏覽器,發(fā)送HTTP請求來實現(xiàn)對接口的調(diào)用,然后比較返回與期望值,達到驗證結(jié)果的目的。
當然,要設(shè)計一套真正高效的接口自動化框架也是不容易的。這里面涉及到如何提高用例的開發(fā)效率,降低開發(fā)維護成本等關(guān)鍵問題。同時還可以把接口測試與性能測試結(jié)合起來,豐富接口自動化測試的內(nèi)涵。

質(zhì)量管理流程


在敏捷開發(fā)的流程中,測試工程師有了一個新的定義:Quality Assurance Engineer。而測試的執(zhí)行僅僅是職責中的一部分,更為重要的是要為整個團隊的產(chǎn)品質(zhì)量負責。
從整個sprint的周期來看,QA工程師都要始終如一的貫徹質(zhì)量保證的意識,與開發(fā)的關(guān)系也從早期的發(fā)現(xiàn)bug,轉(zhuǎn)變?yōu)槿绾螏椭_發(fā)團隊一起提高產(chǎn)品的質(zhì)量。同時還要和產(chǎn)品團隊密切的合作,在需求的分析階段就介入,分析質(zhì)量保證工作如何規(guī)劃和設(shè)計,而不是在產(chǎn)品發(fā)布前的測試執(zhí)行階段才介入。
這個里面還包含很多Soft skill的要求,包括如何與團隊合作,溝通等等,這也是敏捷開發(fā)模式的關(guān)鍵之一。

行業(yè)技術(shù)知識


這一部分內(nèi)容其實涵蓋的內(nèi)容是非常豐富的,就以互聯(lián)網(wǎng)行業(yè)舉例吧。
對于一個互聯(lián)網(wǎng)產(chǎn)品,測試工程師需要了解的甚至是精通的知識是很多的,從前端頁面的技術(shù)棧,API的設(shè)計,后端服務(wù)器的設(shè)計,后面會專門提到的數(shù)據(jù)庫,還有整個服務(wù)的架構(gòu)等等,測試工程師都需要有所了解。
針對這個問題,其實有一個非常好的問題可以幫助大家去梳理涉及到的知識,這就是:

從在瀏覽器的輸入框輸入一個網(wǎng)址,到看到網(wǎng)頁的內(nèi)容,這個過程中發(fā)生了什么?

回答這個問題的深度和廣度,基本就能反映一個測試工程師對于互聯(lián)網(wǎng)產(chǎn)品技術(shù)的掌握情況。
在這里呢,我簡單的羅列一些涉及到的技術(shù)和概念,這些內(nèi)容對于我們測試產(chǎn)品,都是非常有幫助的。

DNS
TCP/IP
HTTP
SSL
Restful
HTML
DOM
CSS
Render
Xpath
服務(wù)器
nginx
SQL
Cookie&Session
XSS,CSRF
這里僅僅是涉及到一部分內(nèi)容,具體的內(nèi)容可以根據(jù)工作中遇到的場景去深入學習和了解。


數(shù)據(jù)庫


之所以把數(shù)據(jù)庫單獨列出來,是因為數(shù)據(jù)庫的知識對于當今的很多產(chǎn)品都是非常核心的內(nèi)容。
不管是在手動測試還是自動化測試中,都有需要到數(shù)據(jù)庫進行數(shù)據(jù)校驗的時候。
目前主要使用的數(shù)據(jù)庫可以分為兩類:

關(guān)系型數(shù)據(jù)庫
非關(guān)系型數(shù)據(jù)庫


關(guān)系型數(shù)據(jù)庫


關(guān)系型數(shù)據(jù)庫是最常見的數(shù)據(jù)庫類型,這類數(shù)據(jù)庫通過RDBMS數(shù)據(jù)庫程序來進行管理和使用,常見的有SQL Server, MySQL等等。
關(guān)系型數(shù)據(jù)庫中強調(diào)一個事務(wù)(Transaction)的概念。所謂事務(wù)是用戶定義的一個數(shù)據(jù)庫操作系列,這些操作要么全部執(zhí)行,要么全部不執(zhí)行,是一個不可分割的工作單位。例如在關(guān)系數(shù)據(jù)庫中,一個事務(wù)可以是一條SQL語句、一組SQL語句或整個程序。
事務(wù)應(yīng)該具有4個屬性:原子性、一致性、隔離性、持久性。這四個屬性通常稱為ACID特性。

原子性(Atomicity):事務(wù)作為一個整體被執(zhí)行,包含在其中的對數(shù)據(jù)庫的操作要么全部被執(zhí)行,要么都不執(zhí)行。
一致性(Consistency):事務(wù)應(yīng)確保數(shù)據(jù)庫的狀態(tài)從一個一致狀態(tài)轉(zhuǎn)變?yōu)榱硪粋€一致狀態(tài)。一致狀態(tài)的含義是數(shù)據(jù)庫中的數(shù)據(jù)應(yīng)滿足完整性約束。
隔離性(Isolation):多個事務(wù)并發(fā)執(zhí)行時,一個事務(wù)的執(zhí)行不應(yīng)影響其他事務(wù)的執(zhí)行。
持久性(Durability):一個事務(wù)一旦提交,他對數(shù)據(jù)庫的修改應(yīng)該永久保存在數(shù)據(jù)庫中。
對于實際的應(yīng)用來說,SQL語言是必須要掌握的。能夠通過SQL語句在數(shù)據(jù)庫中找到需要的數(shù)據(jù),是測試工程師必備的技能。SQL語句的語法大體上比較類似,在一些細節(jié)上不同的RDBMS會有些許的差別。
對于自動化實現(xiàn)來說,在自動化測試中通過訪問數(shù)據(jù)庫來獲得期望值也是很常見的場景。不同的語言都有訪問數(shù)據(jù)庫的庫,整體來說應(yīng)用也很簡單。

非關(guān)系型數(shù)據(jù)庫


隨著互聯(lián)網(wǎng)中大量的非結(jié)構(gòu)化數(shù)據(jù)的產(chǎn)生,例如社交網(wǎng)絡(luò)等等應(yīng)用,用戶的個人信息,社交網(wǎng)絡(luò),地理位置,用戶生成的數(shù)據(jù)和用戶操作日志已經(jīng)正在以幾何級數(shù)的速率增加,同時還面臨大量的數(shù)據(jù)挖掘工作,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫已經(jīng)無法滿足。所以NoSQL漸漸的發(fā)展了起來。
NoSQL最突出的特點就是數(shù)據(jù)的非結(jié)構(gòu)化,通俗的講,就是數(shù)據(jù)不再是以列和行這樣的形式存儲的。
NoSQL存儲數(shù)據(jù)的方式很多:值對存儲,列存儲,文檔存儲。
例如比較常見的MongoDB就是將數(shù)據(jù)存儲為一個文檔,數(shù)據(jù)結(jié)構(gòu)由鍵值(key=>value)對組成。MongoDB 文檔類似于 JSON 對象。字段值可以包含其他文檔,數(shù)組及文檔數(shù)組。

RDBMS vs NoSQL
RDBMS
高度組織化結(jié)構(gòu)化數(shù)據(jù)
結(jié)構(gòu)化查詢語言(SQL) (SQL)
數(shù)據(jù)和關(guān)系都存儲在單獨的表中。
數(shù)據(jù)操縱語言,數(shù)據(jù)定義語言
嚴格的一致性
基礎(chǔ)事務(wù)
NoSQL
代表著不僅僅是SQL
沒有聲明性查詢語言
沒有預(yù)定義的模式:鍵 - 值對存儲,列存儲,文檔存儲,圖形數(shù)據(jù)庫
最終一致性,而非ACID屬性
非結(jié)構(gòu)化和不可預(yù)知的數(shù)據(jù)
CAP定理
高性能,高可用性和可伸縮性


業(yè)務(wù)知識


對于測試工程師來說,所測試產(chǎn)品的業(yè)務(wù)知識也是非常重要的。
一個測試工程師可能已經(jīng)具備了上述的所有技能,但是怎么把這些技能用來解決我們最先提到的軟件測試的核心問題呢?這個里面的關(guān)鍵,或者說中心點,就是你所測試的產(chǎn)品的業(yè)務(wù)。
測試的方法,規(guī)劃,實施方法都是多種多樣的,如果在這些方法中進行選擇,所依賴的正是對產(chǎn)品的業(yè)務(wù)的深刻理解。
這里的產(chǎn)品業(yè)務(wù)不僅僅指產(chǎn)品的特性,同時還包括了產(chǎn)品的用戶特征,用戶的使用習慣,以及由此帶來的對產(chǎn)品的流量趨勢。也可以說,測試人員必須要站在用戶的角度來分析產(chǎn)品,而不是產(chǎn)品開發(fā)人員的角度。
測試人員還需要找到產(chǎn)品的核心功能和核心業(yè)務(wù),通過這樣的分析來進行測試優(yōu)先級的劃分,以及缺陷的定級。同時對于自動化測試的規(guī)劃和架構(gòu)也有著重要的影響。例如在自動化測試中要首先覆蓋那些核心的業(yè)務(wù)和功能,同時根據(jù)業(yè)務(wù)的特性,用自動化的方法去模擬用戶的使用場景,把有限的自動化資源投入到最關(guān)鍵的部分。
這一塊技能聽起來可能很虛,好像沒有什么具體的知識點,但是在不斷的工作和總結(jié)中,優(yōu)秀的測試工程師是能夠總結(jié)出一套符合某一類產(chǎn)品的測試方法的,甚至還可以提煉出一些更具備通用性的best practice,用到不同的產(chǎn)品中。

說在最后


或者這樣一篇短短的文章無法涵蓋軟件測試的內(nèi)涵,但是筆者也只是想拋磚引玉,讓讀者能夠通過這樣一種不能算全面的梳理,結(jié)合自己的工作經(jīng)驗,對自己所從事的軟件測試工作有一個更深的理解。

筆者計劃根據(jù)這篇文章所列出的技能樹,分別寫文章進行更加細致的梳理和總結(jié),希望能夠和各位同行一起學習,一起進步,同時非常歡迎大家指正我的錯誤和不足。
————————————————
版權(quán)聲明:本文為CSDN博主「Batkid2018」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Batkid2018/article/details/85537105

?

測試工程師的養(yǎng)成

第一階段:前置基礎(chǔ)知識

這個階段需要有基礎(chǔ)知識儲備,這樣才能打牢基礎(chǔ),有利于下一階段的提升。這個階段主要是掌握計算機基礎(chǔ)、測試理論、HTML基礎(chǔ)、JS基礎(chǔ)、CSS基礎(chǔ)。

計算機基礎(chǔ):計算機組成部分,操作系統(tǒng)分類,B/S分類,C/S架構(gòu),常用DOS命令,服務(wù)器域名

測試理論:軟件測試的目的,軟件測試定義,軟件測試原則,產(chǎn)品質(zhì)量模型,測試基本流程

HTML基礎(chǔ):HTML基本語法,標簽屬性,超鏈接,描點,表單

JS基礎(chǔ):JS基礎(chǔ)語法,JS引入方式

CSS基礎(chǔ):CSS基本語法,CSS四類選擇器,常用文字屬性,行高屬性,邊框,盒子模型,內(nèi)外邊距

計算機基礎(chǔ):計算機組成部分,操作系統(tǒng)分類,B/S分類,C/S架構(gòu),常用DOS命令,服務(wù)器域名

測試理論:軟件測試的目的,軟件測試定義,軟件測試原則,產(chǎn)品質(zhì)量模型,測試基本流程

HTML基礎(chǔ):HTML基本語法,標簽屬性,超鏈接,描點,表單

JS基礎(chǔ):JS基礎(chǔ)語法,JS引入方式

CSS基礎(chǔ):CSS基本語法,CSS四類選擇器,常用文字屬性,行高屬性,邊框,盒子模型,內(nèi)外邊距

第二階段:Linux和數(shù)據(jù)庫

這個階段主要是了解數(shù)據(jù)庫的掌握情況,包含SQL語言、MYSQL關(guān)系型數(shù)據(jù)庫等基礎(chǔ)的數(shù)據(jù)庫掌握。從操作系統(tǒng)到數(shù)據(jù)庫的基本操作:增刪改查,再到數(shù)據(jù)庫的高級功能了解。

Linux:操作系統(tǒng)介紹,操作系統(tǒng)發(fā)展歷史,centos圖形界面,文件和目錄,常用Linux命令,vim文本編輯器的使用

數(shù)據(jù)庫介紹:數(shù)據(jù)庫基本概念,關(guān)系型數(shù)據(jù)庫介紹,MySQL安裝與使用,Navicat使用

SQL語言(重點):數(shù)據(jù)表操作,數(shù)據(jù)操作,增刪改查,條件查詢,排序,聚合函數(shù),分組,分頁,鏈接查閱,真關(guān)聯(lián),子查閱,子查閱演練

數(shù)據(jù)庫高級功能:數(shù)據(jù)庫設(shè)計,命令行操作數(shù)據(jù)庫,函數(shù),存儲過程,視圖,事務(wù),引索,外剪,用戶密碼

第三階段:測試基礎(chǔ)

這個階段正式進入軟件測試拉,從軟件測試理論、測試方法和分類、黑白盒的測試用例設(shè)計、以及掌握一些bug管理工具。

軟件測試理論,軟件生命周期,測試方法和分類,測試用例設(shè)計(黑盒,白盒),缺陷及缺陷管理工具,其他(測試流程,測試計劃撰寫,測試報告模板,測試報告分析)

第四階段:語言

目前世界排名靠前的語言Java\Python。都是企業(yè)的需求語言,而隨著python語言的全名普及化,應(yīng)用在人工智能、大數(shù)據(jù)等熱門領(lǐng)域,更是讓python受到公司青睞。

Python編程:計算機組成原理,Python開發(fā)環(huán)境,Python變量,流程控制語句,高級變量類型,函數(shù)應(yīng)用,文件操作,面向?qū)ο?#xff0c;異常處理,模塊和包

數(shù)據(jù)結(jié)構(gòu):算法,時間復雜度,空間復雜度,Python列表類型性能測試,列表字典內(nèi)置操作的時間,復雜度,順序表,單向鏈表,雙向列表,棧和隊列,二叉樹

排序算法:冒泡排序,選擇排序,插入排序,希爾排序,快速排序,歸并排序

第五階段:web自動化測試

這個階段的學習,大家應(yīng)該更多的從以下兩點去掌握。1.如何從手工測試轉(zhuǎn)為自動化測試工程師;2.如何通過自動化測試技術(shù)為企業(yè)的測試工作提高效率,降低成本,增強測試的充分性和完整性。

Web自動化入門:自動化測試分類及自動化適用的項目,自動化測試框架選型,selenium的發(fā)展歷史及工作原理,seleniumIDE插件使用,firebug插件使用

Web自動化基礎(chǔ):元素基礎(chǔ)定位方法,xpath,CSS元素定位方法,元素常見操作,瀏覽器的基本操作方法

Web自動化中級:鼠標鍵盤操作,元素顯示等待和隱式等待,HTML特殊元素處理,窗口截圖

Web自動化高級:自動化測試模型,unittest斷言,unittest與htmireport的結(jié)合使用,unittest與DDT結(jié)合,實現(xiàn)數(shù)據(jù)驅(qū)動,unittest與logger結(jié)合使用

第六階段:手機自動化測試

手機端APP自動化測試,在業(yè)務(wù)基本穩(wěn)定時,也是勢在必行的一件事情。手機端自動化測試的技術(shù)還在不斷的發(fā)展過程中。這個階段的學習,是分基礎(chǔ)、中級、高級的三個階段的進行深入淺出的學習。

移動自動化基礎(chǔ):移動端測試分類及特點,ADB命令及monkey使用,appium環(huán)境搭建,appium工作原理

移動自動化中級:APP和手機系統(tǒng)操作,元素定位,元素操作,高級手勢操作,混合APP測試,pytest測試框架,定制測試報告,數(shù)據(jù)讀寫

移動自動化高級:po模型,數(shù)據(jù)驅(qū)動,關(guān)鍵字驅(qū)動

第七階段:接口測試

這個階段提供了各種不同協(xié)議,不同類型的接口項目,大家只有利用學習內(nèi)容進行接口測試的實戰(zhàn)。不光只是完成接口測試,而是要掌握全套的接口測試工作流程:1.接口需求測試分析;2.設(shè)計接口測試用例;3.使用工具開展接口測試;4.針對復雜接口編寫代碼進行接口測試;5.接口測試框架設(shè)計及實現(xiàn);6.完成接口測試的持續(xù)集成。

接口基礎(chǔ):接口相關(guān)概念,接口測試實現(xiàn)流程,restful架構(gòu)風格,json基本語法,瀏覽器插件安裝以及使用,postman及fiddler使用

Jmeter入門:jmeter安裝以及基本使用,jmeter組件之線程組

Jmeeter組件參數(shù)化:CSV data set conflg,用戶參數(shù),用戶定義的變量,函數(shù)

Jmeter常用組件:直連數(shù)據(jù)庫,關(guān)聯(lián),斷言,集合點,函數(shù)詳解,邏輯控制器,分布式,QPS,FTP,圖形監(jiān)控器

接口框架自動化:requests庫使用及腳本封裝,unittest框架,mock實現(xiàn)

接口框架設(shè)計及實現(xiàn):框架設(shè)計,數(shù)據(jù)庫操作,數(shù)據(jù)依賴解決,接口異常處理,統(tǒng)計報告及郵件發(fā)送,持續(xù)集成

接口測試項目:項目接口清單提取,項目功能測試,性能測試,自動化測試

第八階段:性能測試

這個階段的學習,從性能需求分析開始,到腳本設(shè)計實現(xiàn),業(yè)務(wù)性能場景設(shè)計,性能故障定位以及性能優(yōu)化都有實際的案例和項目進行實際操練

性能測試基礎(chǔ):理論,分類,指標,工具,loadrunner安裝與注冊,性能測試步驟

Vugen:協(xié)議,參數(shù)化,集合點,事務(wù),檢查點,思考時間,關(guān)聯(lián)

Controller:場景設(shè)計,運行,IP wizard應(yīng)用,負載生成器,sla,場景監(jiān)控,服務(wù)器硬件檢測工具

Analysis:結(jié)果分析,圖表分析,吞吐量相關(guān),事務(wù)相關(guān)

性能測試調(diào)優(yōu):方案,Linux服務(wù)器性能監(jiān)控,JVM配置調(diào)優(yōu),Tomcat配置調(diào)優(yōu),性能測試報告

數(shù)據(jù)庫調(diào)優(yōu):慢查詢,線程池,索引命中率,行鎖

轉(zhuǎn)自:?http://m.elecfans.com/article/995196.html

?

時光荏苒,從畢業(yè)到現(xiàn)在已經(jīng)10年,10年來一直從事著軟件測試的工作。從一個什么都不會,到測試技術(shù)人員再到測試管理,期間有迷茫,有痛苦,有彎路,有捷徑。

今天對自己過去的10年測試經(jīng)歷做一個總結(jié),一是給自己重新出發(fā)增加動力,二是給剛?cè)氲赖摹⒚悦V械臏y試朋友一點點建議,希望你們少走彎路。

所謂方向比努力重要,這絕對是一句真理

如果能在剛走上測試工作崗位的時候明白這個道理,那么不出5年,你一定能成為某一測試領(lǐng)域的專家,那時不管是薪水、自信心都是順其自然的事情。

但是遺憾的是,我們獲取的太多信息是,測試人員是一個通才,什么都要學,什么都要懂。

結(jié)果這樣的一個方向,導致了3腳貓功夫的測試人員一大把。那么什么都懂一點的測試人員難道就沒有用武之地了嗎?也不是,可以朝著測試管理崗位發(fā)展。

說到這里,引出了測試職業(yè)規(guī)劃的第一條路:測試管理。那么很容易想到職業(yè)規(guī)劃的另外一條路,測試技術(shù)專家。

在測試技術(shù)領(lǐng)域里,無外乎就是性能測試專家和自動化測試專家。

明確了軟件測試職業(yè)規(guī)劃的三個方向,接下來就是如何選擇一條適合自己的方向。下面給出我的幾條建議。

關(guān)于選擇測試管理:

首先、你一定不是一個喜歡技術(shù),對技術(shù)敏感的人,這個很容易判斷。

第二,你一定是個善于溝通,組織協(xié)調(diào)能力強的人。

第三,你的長期抗壓能力較強,上能頂住領(lǐng)導批評,下能頂住下屬埋怨。能受得了委屈,吃的了虧。

第四,你對管理工作充滿持續(xù)的激情,如果過去你是一個比較如魚得水的學生干部,那更加沒問題。

總之,相對你的IQ,你的EQ更高。那么從性格上來說你比較適合做測試管理工作。

關(guān)于選擇性能測試專家:

正好和測試管理人員具備的性格相反。

首先,你不喜歡組織協(xié)調(diào)這樣的工作,你性格有些孤傲,你上學的時候一定不是學生干部,或者不是一個如魚得水的學生干部。

第二,你不一定是個技術(shù)狂熱者,但你不排斥技術(shù),你的動手能力較強,喜歡實踐。能靜下心來學習。那么你有成為一個技術(shù)專家的潛力

關(guān)于選擇自動化測試專家:

和性能測試專家類似,如果你掌握一門編程語言,或者有信心學好一門編程語言,那么恭喜你,你有成為自動化測試專家的潛力。通常,性能測試專家和自動化測試專家在技術(shù)上是相通的。

確定了自己的測試發(fā)展方向,接下來就是如何實現(xiàn)的問題。有一個著名的10000小時定律理論,即一個人想要成為某個領(lǐng)域的專家,需要經(jīng)過1萬個小時的錘煉。

按此比例計算,如果以每天工作8小時,一周工作5天計算,那么成為一個領(lǐng)域的專家需要4-5年的時間。

關(guān)于如何成長為測試管理人才:

首先你一定要成為一個功能測試專家;通過參與至少2個完整項目的測試工作,你對測試理論、一個完整項目的測試流程、測試活動、測試輸出了于指掌。

第二,盡量選擇一個行業(yè)如電信、支付、網(wǎng)購、通訊等深入做下去,成為該領(lǐng)域的業(yè)務(wù)專家。因為測試經(jīng)理的角色往往也是半個需求人員的角色。

第三,盡量在頭三年的時間里,親自參與功能測試、性能測試、自動化測試工作,為后面測試管理的招聘工作、測試計劃、人員分配、任務(wù)安排打下一個良好的技術(shù)基礎(chǔ),說白了,測試管理工作也是一個技術(shù)管理崗位,沒有一定的技術(shù)功底,很難開展后續(xù)的管理工作。

關(guān)于如何成長為性能測試專家:

剛進入測試管理崗位,你負責的工作一定是功能測試任務(wù)。沒有機會接觸性能測試工作。

怎么辦?我的建議是:自學或者參加培訓班,如果你是一個自我管理能力非常強的人,建議自學,如果不是,那么建議參加專門的性能測試培訓班。

參加培訓班之前最好大致了解一下性能測試的基礎(chǔ)知識。

性能測試的學習過程大致如下:

1) 首先了解一個系統(tǒng)的架構(gòu),明白各服務(wù)器之間是如何交互工作、系統(tǒng)的數(shù)據(jù)流向、系統(tǒng)的壓力點,從而確定性能測試需求和指標,即那些功能需要考慮壓力,能承擔的壓力是多大。

比如一個購物網(wǎng)站,最典型的登陸功能、提交訂單功能需要支持多少個用戶并發(fā),每個并發(fā)用戶在幾秒之內(nèi)完成操作,系統(tǒng)長時間在壓力狀態(tài)下的穩(wěn)定性。

2) 第二選擇測試工具,對于基于Http協(xié)議的應(yīng)用來說,一般loadrunner都能完成性能測試工作,學習loadrunner的三部曲:腳本錄制編寫(loadrunnergenerator)、場景設(shè)置和執(zhí)行(loadrunner controller)、結(jié)果分析(loadrunner analysis)的內(nèi)容。

對于一些無法用現(xiàn)有工具實施性能測試的應(yīng)用,需要考慮自己編寫工具來完成。所以一個優(yōu)秀的性能測試工程師一定是能熟練使用一門編程語言的。

3) 實踐,一定要多實踐,安裝完loadrunner以后,loadrunner里帶有現(xiàn)成的性能測試項目---飛機訂票系統(tǒng)。完全可以拿來練手loadrunner。

4) 性能測試的目的是發(fā)現(xiàn)系統(tǒng)處理能力的瓶頸 而系統(tǒng)調(diào)優(yōu)才是最終的目的,如果能進一步提高各業(yè)務(wù)服務(wù)器、數(shù)據(jù)庫服務(wù)器的調(diào)優(yōu)技能,對性能測試工作來說是如虎添翼。

關(guān)于如何成長為自動化測試專家:

自動化測試和性能測試不一樣,性能測試主要是對服務(wù)器的性能做測試,而自動化測試是從前端考慮,其目的旨在于替代部分手工測試、考量客戶端長時間運行的穩(wěn)定性。

自動化測試分為:web站點的自動化測試、PC客戶端的自動化測試、手機端的自動化測試。每一個終端的測試都是一個大的領(lǐng)域,建議先深入學習一個終端的自動化測試技術(shù)。

關(guān)于Web端站點的自動化測試:常用的開源測試工具:selenium框架+一門編程語言(建議python),或者收費軟件QTP,推薦selenium,因為它是開源的、免費的,不存在盜版問題、且可擴展,所以國內(nèi)的一線大公司喜歡用。

Pc客戶端自動化測試:常用的測試工具:QTP。付費軟件,國內(nèi)很多小公司在用。

Android手機自動化測試:常用的測試工具:monkey、monkeyrunner、robutium、appium等,這些都是開源軟件。一樣,國內(nèi)一流的公司都在使用。

蘋果端的自動化測試:常用的測試工具:Instrument、FoneMonke、Broomine、iphone SDK自帶的test unit。

不管學習哪一個終端的自動化測試,熟練掌握一門編程語言是必要條件。

最后談?wù)勡泴嵙ΑR粋€優(yōu)秀的測試技術(shù)專家,我認為需要具備以下幾個特性:

持續(xù)學習能力:計算機技術(shù)的發(fā)展可謂日新月異,如果不持續(xù)學習,那么不出2年,你就會發(fā)現(xiàn)你只能當一個廉價的手工測試人員。所以如果能在工作中學習最好,不能的話,下班后保證2個小時的自學時間。幾年下來,你就能發(fā)現(xiàn)自己的進步有多大。

溝通能力,我覺得可以從2方面培養(yǎng):

第一:日常工作的溝通能力:和開發(fā)、產(chǎn)品、運維、客服同事的溝通要及時,表達要準確,多微笑、多傾聽、保持良好輕松的同事關(guān)系。

第二,正式場合的溝通能力,如項目周會、評審會議、總結(jié)會議,一定要提前做準備,講什么、怎么講,自己私下里先練習一下,這樣在正式場合才能表達清楚、氣定神閑、落落大方,給領(lǐng)導和同事留下一個好的印象。

團隊合作能力:首先從心態(tài)上,要強調(diào)整體的概念,放下單打獨斗的想法。在實際項目中,體現(xiàn)為團隊成員之間的相互協(xié)作、資源共享、共同進退。這個時代已經(jīng)不是一個英雄創(chuàng)造神話的年代了,只有團隊的齊心協(xié)力才能把項目做好,這樣的人往往也是公司最喜歡,最愿意去培養(yǎng)的人。

與優(yōu)秀的人為伍:所謂近朱者赤,近墨者黑。跟對一個老大、和優(yōu)秀的人共事,找一個優(yōu)秀的伴侶、經(jīng)常去參加一些牛人講座、技術(shù)論壇,通過這些人的耳濡目染,一定會讓你少走很多彎路。

其他還有很多軟實力,但我個人認為以上幾點比較重要。

凡事要趁早,特別是技術(shù)行業(yè),一定要在頭幾年打下扎實的技術(shù)功底,這對將來的技術(shù)管理或技術(shù)專家路線都有極大的幫助。

如果大家想學習一下路線內(nèi)容,在此我向大家推薦一個軟件測試技術(shù)學習交流群。交流學習群號:706315665 里面會分享一些資深測試工程師錄制的視頻錄像:有自動化,接口,Mysql,性能、Linux、Loadrunner、 Jmeter、等這些成為測試工程師必備的知識體系。還能領(lǐng)取免費的學習資源,目前受益良多

一、Linux必備知識
linux作為現(xiàn)在最流行的軟件環(huán)境系統(tǒng),一定需要掌握,目前的招聘要求都需要有l(wèi)inux能力。


二、Mysql數(shù)據(jù)庫
軟件測試工程師必備Mysql數(shù)據(jù)庫知識,不僅僅停留在基本的“增刪改查”。


三、接口測試工具
接口測試神器,你繞不開的強大工具:Jmeter。小巧靈活:Postman。


四、抓包工具
Fiddler、Wireshark、Sniffer、Tcpdump各種抓包工具適用于各種項目,總有一款適合你。


五、自動化測試Java&Pyhton
自動化測試作為測試行業(yè)需求最大的技術(shù)點,招聘要求隨處可見,必學!漲薪的最短技術(shù)途徑。


六、敏捷測試&TestOps構(gòu)建
揭開TestOps的神秘面紗,持續(xù)集成Jenkins框架爛熟于心。


七、性能測試
性能測試從零開始,從理論到腳本到分析調(diào)優(yōu),步步驚心,教學使用行業(yè)最火性能測試工具Loadrunner,解決工具一系列使用問題,翻身成高手。


不知不覺寫了這么多,感覺還沒有說完,希望我的一些拙見能對剛畢業(yè)的同學和還在測試領(lǐng)域迷茫的同學一點幫助。
原文:https://blog.csdn.net/suizhituan8337/article/details/80941625?
?

?

這兩天和朋友談到軟件測試的發(fā)展,其實軟件測試已經(jīng)在不知不覺中發(fā)生了非常大的改變,前幾年的軟件測試行業(yè)還是一個風口,隨著不斷地轉(zhuǎn)行人員以及畢業(yè)的大學生瘋狂地涌入軟件測試行業(yè),目前軟件測試行業(yè)“缺口”已經(jīng)基本飽和。當然,我說的是最基礎(chǔ)的功能測試的崗位需求已經(jīng)很少了,而自動化、性能、安全乃至于以后可能出現(xiàn)的大數(shù)據(jù)測試、AI測試仍存在著非常多的機會。

“長江后浪推前浪,前浪死在沙灘上”,曾經(jīng)一句讓人會心一笑的調(diào)侃,而今變成了軟件測試行業(yè)的真實寫照。由于軟件測試行業(yè)入門門檻低,薪資報酬高,不斷有新鮮血液沖刷著軟件測試行業(yè)的“前行者”們,給我們帶來了非常大的壓力。

那些入行幾年,但是依然是功能測試的同學所面臨的的壓力可想而知。說到底,軟件測試行業(yè)還是屬于技術(shù)崗位。既然是技術(shù)崗位,那就要靠技術(shù)說話。不斷掌握新的技能,提高軟件測試“找bug”的能力也就變成了目前軟件測試從業(yè)人員迫在眉睫需要解決的問題。因此,現(xiàn)在大部分初級功能測試人員都在向自動化、性能、安全靠攏。

但是還是有不少的軟件測試工程師站在“十字路口”迷茫、無助,找不到自己的方向。

一切的迷茫都是因為想得太多而做的太少!每位軟件測試行業(yè)從業(yè)者都能意識到目前自己面臨的窘境,但能及時作出改變,順應(yīng)時代變化的人還是太少。多數(shù)人明明“泰山崩于前而面色如土”卻只能眼睜睜看著自己被行業(yè)淘汰嗎?

并不是,下面的軟件測試工程師發(fā)展方向知識架構(gòu)體系圖,會告訴你該往哪里努力:

一、Linux必備知識
linux作為現(xiàn)在最流行的軟件環(huán)境系統(tǒng),一定需要掌握,目前的招聘要求都需要有l(wèi)inux能力。

二、Shell腳本
掌握shell腳本,包括shell基礎(chǔ)與應(yīng)用、shell邏輯控制、shell邏輯函數(shù)等。

三、互聯(lián)網(wǎng)程序原理
自動化必由之路:前端開發(fā)基礎(chǔ)知識以及互聯(lián)網(wǎng)網(wǎng)絡(luò)必備知識。

四、Mysql數(shù)據(jù)庫
軟件測試工程師必備Mysql數(shù)據(jù)庫知識,不僅僅停留在基本的“增刪改查”。

五、抓包工具
Fiddler、Wireshark、Sniffer、Tcpdump各種抓包工具適用于各種項目,總有一款適合你。

六、接口測試工具
接口測試神器,你繞不開的強大工具:Jmeter。小巧靈活:Postman。

七、Web自動化測試Java&Pyhton
了解自動化的目的,熟練掌握testng&unittest自動化框架,以及斷言與日志處理。

八、接口與手機自動化
專業(yè)接口調(diào)用、測試解決方案。組建完整的web和接口自動化框架,Appium整體使用。

九、敏捷測試&TestOps構(gòu)建
揭開TestOps的神秘面紗,持續(xù)集成Jenkins框架爛熟于心。

十、性能測試&安全測試
軟件測試的彼岸:性能測試和安全測試,選對方向,努力爬坑吧!

上面就是我為大家整理出來的一份軟件測試工程師發(fā)展方向知識架構(gòu)體系圖。希望大家能照著這個體系在3-4年內(nèi)完成這樣一個體系的構(gòu)建。可以說,這個過程會讓你痛不欲生,但只要你熬過去了。以后的生活就輕松很多。正所謂萬事開頭難,只要邁出了第一步,你就已經(jīng)成功了一半,等到完成之后再回顧這一段路程的時候,你肯定會感慨良多。

https://blog.csdn.net/qq_41248484/article/details/79739772

總結(jié)

以上是生活随笔為你收集整理的软件测试工程师必备技能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。