更新時(shí)間:2017年12月29日15時(shí)03分 來(lái)源:傳智播客 瀏覽次數(shù):
作為一名合格的測(cè)試,一方面應(yīng)該具備基本的測(cè)試業(yè)務(wù)知識(shí),另一方面也要有扎實(shí)的技術(shù)基礎(chǔ)。測(cè)試是很有技術(shù)含量的工作,絕對(duì)不是一味的對(duì)界面點(diǎn)點(diǎn)點(diǎn)的重復(fù)操作。
所以合格的測(cè)試一定是理論知識(shí)與技術(shù)能力并行發(fā)展。
下面就給大家介紹下測(cè)試到底都應(yīng)該掌握什么。
基本的測(cè)試?yán)碚?/strong>
我這里不想給大家說(shuō)一些可以很容易就在網(wǎng)上找到的東西,其實(shí)測(cè)試許多的理論應(yīng)該是基于你對(duì)業(yè)務(wù)系統(tǒng)的流程、業(yè)務(wù)場(chǎng)景的基礎(chǔ)上進(jìn)行總結(jié)的。
這才是真正的干貨。
立足業(yè)務(wù)場(chǎng)景
測(cè)試任何功能點(diǎn),不能單純的看需求、設(shè)計(jì)文檔就盲目的開(kāi)始測(cè)試,無(wú)論是編寫(xiě)測(cè)試用例、還是執(zhí)行測(cè)試用例都一定要把業(yè)務(wù)場(chǎng)景放在首位。即常說(shuō)的 “User Story”(用戶故事)。
我們一定要模擬、分析出這條測(cè)試用例、這個(gè)測(cè)試思路是基于用戶的哪種操作,并且要把自己定位于那種計(jì)算機(jī)盲,然后站在他們的角度去使用被測(cè)系統(tǒng)。舉個(gè)例子:
本來(lái)正確的系統(tǒng)操作流程應(yīng)該是先 A 后 B 在 C,那我們就應(yīng)該模擬先 B 后 C 在 A、先 C 后 A 在 B、先 B 后 A 在 C 等等非正常流程操作下的系統(tǒng)響應(yīng)。
順便說(shuō)一下,這里我設(shè)計(jì)用例的思維方式并不是憑空而來(lái),而是排列組合思維。
注意歷史數(shù)據(jù)
這個(gè)主要只我們對(duì)正在維護(hù)的系統(tǒng),每次有改動(dòng)點(diǎn),一定要考慮其流程、改動(dòng)對(duì)歷史數(shù)據(jù)的影響。
中國(guó)有句老話:“打江山容易,守江山難”,映射到測(cè)試工作上也是對(duì)于新功能的測(cè)試一般都很少出問(wèn)題,往往對(duì)于歷史數(shù)據(jù),或者新功能點(diǎn)對(duì)老功能點(diǎn)的影響沒(méi)有考慮到,才會(huì)導(dǎo)致 BUG 的產(chǎn)生。
所以作為一名合格的測(cè)試,測(cè)試任何一個(gè)優(yōu)化功能,一定要拿歷史數(shù)據(jù)和新數(shù)據(jù)一同進(jìn)行測(cè)試。
這里也引申出我的第二個(gè)思維模式,對(duì)比思維。
極端情況
另外,測(cè)試任何一個(gè)功能點(diǎn),我們一定要考慮到極端情況。例如:
QQ 登錄首頁(yè),我們誰(shuí)都不陌生,假設(shè)你作為一名騰訊的登錄首頁(yè)測(cè)試人員,此時(shí)叫你測(cè)試【注冊(cè)賬號(hào)】這個(gè)功能,我們常規(guī)思維肯定會(huì)考慮以下情況:
錄入的長(zhǎng)度是否有限制;
容錯(cuò)性,是否支持特殊符號(hào);
兼容性,各個(gè)瀏覽器下是否都可以正常使用;
跨平臺(tái)性。APP、平板、電腦、乃至智能電視機(jī)是不是都支持;
安全性,是否有 SQL 注入風(fēng)險(xiǎn)。
此時(shí)我們肯定會(huì)認(rèn)為自己設(shè)計(jì)的用例涵蓋了其主要功能,這個(gè)時(shí)候我們就漏掉了一種極端情況,即客戶上來(lái)之后不錄入任何情況,就點(diǎn)擊【登錄】按鈕。
遇到這種極端問(wèn)題特別多的測(cè)試同仁肯定有感受,這種極端情況下暴露的 BUG 往往是最為致命、最為常見(jiàn)的 “空指針異常”。
綜合類似上述的場(chǎng)景,引出我們合格的測(cè)試人必須要有的第三個(gè)思維模式,逆向思維。
MySQL 語(yǔ)句的書(shū)寫(xiě)能力
SQL 語(yǔ)句其實(shí)在 IT 行業(yè)里比較難的技術(shù),如果你不認(rèn)同,那說(shuō)明你接觸的還比較淺薄。當(dāng)然也絕不是只掌握了簡(jiǎn)單的增、刪、改、查就可以的。那么我們應(yīng)該掌握哪些方面呢?
第一組:基本語(yǔ)句的書(shū)寫(xiě),包括:select from(查詢)、delete from(刪除)、where(條件子句)、in(在 … 里)、not in(不在 … 里)、from(從)、between …and、update(更新)..set、Alter(修改表、列)、insert(插入)..values;
第二組:進(jìn)階語(yǔ)句的書(shū)寫(xiě):group ..by(分組)、count(*) 與 count(1)、having(分組條件語(yǔ)句)、left ..join on(左連接)、ringht(右連接)、等值連接。
函數(shù)學(xué)習(xí):sum 等數(shù)學(xué)函數(shù),還有一個(gè)必須要掌握的 case…when..then…end。
除了上述的基本語(yǔ)句的書(shū)寫(xiě)外,還應(yīng)該掌握:
視圖的建立。
存儲(chǔ)過(guò)程的書(shū)寫(xiě),會(huì)存儲(chǔ)過(guò)程,可以方便我們?cè)鞌?shù)。
介于 SQL 這部分的知識(shí)在網(wǎng)上都可以找到,不在詳述。
Linux 基本命令的掌握
這里我只點(diǎn)出具體我們測(cè)試人員需要掌握的常用的 linux 命令,沒(méi)有提到的,工作中你 90% 用不到。有興趣可以自行深入研究下。
ll 與 ls(查看當(dāng)前文件)、cd(切換到指定文件夾)、pwd(查看當(dāng)前路徑)。
tail -f 日志名稱(查看后臺(tái)日志的時(shí)候經(jīng)常使用)。
ps -ef | grep java。查看當(dāng)前 tomcat 下服務(wù)器進(jìn)程的時(shí)候使用。
kill -9 進(jìn)程號(hào)。殺死當(dāng)前的指定進(jìn)程。
view 顯示正在運(yùn)行的文件信息。
除了上述的五組命令外,其他的命令基本用不到。
測(cè)試分析與測(cè)試用例
有些時(shí)候時(shí)間緊、測(cè)試任務(wù)重,這個(gè)時(shí)候你可以不用詳細(xì)的書(shū)寫(xiě)測(cè)試用例,但是一定要有完備的測(cè)試分析。分析的內(nèi)容應(yīng)該包含以下方面。
從開(kāi)發(fā)角度分析
產(chǎn)品和特性是由哪個(gè)開(kāi)發(fā)具體負(fù)責(zé)的 , 可以方便后續(xù)很好的跟蹤問(wèn)題。
開(kāi)發(fā)此產(chǎn)品和特性是否采用了新技術(shù)。
自測(cè)過(guò)得流程有哪些?
是否還有為解決的問(wèn)題?
認(rèn)為的風(fēng)險(xiǎn)點(diǎn)在哪里?
對(duì)測(cè)試的測(cè)試建議是什么?
從測(cè)試的角度分析
基于的業(yè)務(wù)場(chǎng)景是什么?
產(chǎn)品面向的人群是誰(shuí)?
測(cè)試工作如何計(jì)劃?
測(cè)試人員如何分配?
測(cè)試完成的衡量目標(biāo)是什么?
采用的測(cè)試技術(shù)、工具應(yīng)該有哪些?
還有沒(méi)有需要開(kāi)發(fā)、需求支持的點(diǎn)?
分析出測(cè)試重點(diǎn)、難點(diǎn)、分配測(cè)試資源。
上面說(shuō)的分析過(guò)程也是我經(jīng)常用到的 68 原則,即充分了解產(chǎn)品,并且認(rèn)真分析之后再去實(shí)施,肯定會(huì)使得你的測(cè)試達(dá)到事半功倍的效果。
測(cè)試用例的編寫(xiě)
這里我只說(shuō)我寫(xiě)用例的一個(gè)小習(xí)慣,各個(gè)公司的測(cè)試用例書(shū)寫(xiě)規(guī)范不盡相同,但是請(qǐng)一定要把每一條測(cè)試用例執(zhí)行時(shí)的 “前提條件” 標(biāo)注清晰。這個(gè) “前提條件” 可以是,這條用例執(zhí)行前的:
環(huán)境準(zhǔn)備。
業(yè)務(wù)流程前提,即做到哪一步,才滿足執(zhí)行這條用例的條件。
數(shù)據(jù)庫(kù)狀態(tài),此時(shí)的數(shù)據(jù)庫(kù)相關(guān)表的狀態(tài)、存儲(chǔ)是怎樣的。
也可以是網(wǎng)絡(luò)情況,是內(nèi)網(wǎng)下還是外網(wǎng)下。
還可以是介質(zhì),是手機(jī)、電腦、還是平板電腦。
可以是系統(tǒng),是 windows 下的執(zhí)行測(cè)試用例還是 linux 系統(tǒng)下的測(cè)試用例。
等等。只有標(biāo)清楚 “前提條件” 后期維護(hù)方便、并且可以叫人閱讀時(shí)一目了然。
開(kāi)發(fā)語(yǔ)言
另外測(cè)試最好掌握一門(mén)開(kāi)發(fā)語(yǔ)言,這個(gè)語(yǔ)言我只推薦兩種 Java 或者 python。會(huì)了開(kāi)發(fā)語(yǔ)言,請(qǐng)記住你掌握的是技能,請(qǐng)不要轉(zhuǎn)換自己的身份和思維,掌握開(kāi)發(fā)語(yǔ)言就站在開(kāi)發(fā)實(shí)現(xiàn)角度去思索軟件。配合 sonarqube 的靜態(tài)掃描,你會(huì)發(fā)現(xiàn)你會(huì)慢慢的深入代碼層去解決測(cè)試問(wèn)題。
溝通技巧
這個(gè)不多少了,記住兩點(diǎn):
與任何項(xiàng)目組的人大家的出發(fā)點(diǎn)都是為了項(xiàng)目,所以要相互理解,學(xué)會(huì)換位思考;
要堅(jiān)持自己原則,不要輕易被開(kāi)發(fā)的思維所誘導(dǎo),而放棄自身的思維模式。
總結(jié)
測(cè)試的道路上其實(shí)充滿挑戰(zhàn),做的好,你的價(jià)值一定遠(yuǎn)遠(yuǎn)高于開(kāi)發(fā)、產(chǎn)品,你要記住你是每一個(gè)項(xiàng)目、每一個(gè)產(chǎn)品的質(zhì)檢員,你的能力高低直接關(guān)乎產(chǎn)品的質(zhì)量、價(jià)值乃至口碑,所以請(qǐng)從現(xiàn)在開(kāi)始,加油充電,早早變?yōu)橐幻细竦臏y(cè)試!
北京校區(qū)