我們測(cè)試人員利用 PHPUnit 這個(gè)框架進(jìn)行 API 接口測(cè)試拓型,從 2015 年 4 月到 9 月之間的半年時(shí)間里创肥,從學(xué)習(xí) PHP 語(yǔ)言開(kāi)始(之前沒(méi)有編程基礎(chǔ)),到能自動(dòng)測(cè)試 30 多個(gè) Web API 接口级遭,無(wú)論從個(gè)人成長(zhǎng)上來(lái)說(shuō)龙巨,還是從測(cè)試效率、測(cè)試效果上來(lái)带到,都是非常值得的昧碉,因?yàn)榭绯隽似D難的一步。
編程技能對(duì)于測(cè)試人員是一個(gè)重要的技能,通過(guò)學(xué)習(xí)編程來(lái)解決持續(xù)集成問(wèn)題被饿,進(jìn)而改進(jìn)過(guò)程協(xié)同四康,有效地幫助開(kāi)發(fā)人員發(fā)現(xiàn)他們不易發(fā)現(xiàn)的問(wèn)題;促進(jìn)對(duì)開(kāi)發(fā)理解的同時(shí)锹漱,潛移默化地傳播測(cè)試?yán)砟罱o開(kāi)發(fā)同學(xué)箭养,堅(jiān)定且具有說(shuō)服力。
注意:利用 PHPUnit 進(jìn)行 API 接口測(cè)試哥牍,并不替代開(kāi)發(fā)人員自己的單元測(cè)試毕泌。
PHPUnit
PHPUnit is a programmer-oriented testing framework for PHP.
一個(gè)原則是及時(shí)升級(jí)到主流穩(wěn)定版本,當(dāng)下:PHPUnit 5.6(支持 PHP 5.6 和 PHP 7)嗅辣。PHPUnit 代碼托管在 GitHub PHPUnit 上撼泛。
注:
PHP 版本:/usr/local/php/bin/php -v
或 /usr/local/php/sbin/php-fpm -v
PHPUnit 版本: class PHPUnit_Runner_Version defines the current version of PHPUnit.(Runner/Version.php)
兩個(gè)要點(diǎn)
- 準(zhǔn)備測(cè)試數(shù)據(jù)
準(zhǔn)備測(cè)試數(shù)據(jù),除了做樁的數(shù)據(jù)澡谭,和測(cè)試代碼配合愿题,做到基本的分支覆蓋;
通過(guò) Excel 或者 Sublime 可以快速準(zhǔn)備好測(cè)試數(shù)據(jù)蛙奖;
從數(shù)據(jù)角度潘酗,可以分為:建庫(kù)數(shù)據(jù)、啟動(dòng)數(shù)據(jù)雁仲、演示數(shù)據(jù)仔夺、測(cè)試數(shù)據(jù); - 編寫(xiě)測(cè)試代碼
測(cè)試代碼用來(lái)實(shí)現(xiàn)測(cè)試用例攒砖「淄茫可以考慮將測(cè)試用例的核心思路合并到API 測(cè)試代碼的函數(shù)前的注釋說(shuō)明中,而不必再像之前那樣將測(cè)試用例記錄在 Testlink 或者禪道里面)吹艇,以進(jìn)一步體現(xiàn)代碼的重要程度惰蜜,體現(xiàn)其可自動(dòng)重復(fù)執(zhí)行的優(yōu)勢(shì)。測(cè)試代碼寫(xiě)出來(lái)后受神,和功能代碼一樣抛猖,都是需要不斷維護(hù)的,這個(gè)要有清醒的認(rèn)識(shí)鼻听。
測(cè)例的組織
測(cè)例寫(xiě)出來(lái)后樟结,要能經(jīng)常地被執(zhí)行才有可能發(fā)現(xiàn)問(wèn)題,如果能時(shí)不時(shí)地報(bào)告一下確實(shí)發(fā)現(xiàn)了問(wèn)題精算,那就很有意義了。
如何把各個(gè)測(cè)例有效地組織起來(lái)碎连?我個(gè)人的建議是:使用 XML 來(lái)組織 Test Suite 是比較方便的灰羽。
參考
- Test Automation Pyramid
- 關(guān)于 自動(dòng)化測(cè)試 的一篇博客,還不錯(cuò)。
- Wikipedia API Testing
-
layered-test-automatation
[Layered Architecture for Test Automation][layered-test-automatation]