? ? 今天開始學(xué)習(xí)第3章(測(cè)試工程師),SET負(fù)責(zé)可測(cè)試性和測(cè)試自動(dòng)化體系的長(zhǎng)期有效性,而TE的重點(diǎn)在于評(píng)估對(duì)用戶的影響以及軟件產(chǎn)品整體目標(biāo)上的風(fēng)險(xiǎn)。
? ? 1.一種面向用戶的測(cè)試角色
? ? TE:用戶開發(fā)者,一個(gè)產(chǎn)品團(tuán)隊(duì)的所有工程師都是某種類型的開發(fā)者,這是團(tuán)隊(duì)成員地位平等的一個(gè)重要體現(xiàn)。TE以對(duì)某種特定的產(chǎn)品最合適的方式發(fā)現(xiàn)軟件中風(fēng)險(xiǎn)最大的地方并嘗試減少或消除它。在項(xiàng)目的早期工作中,面向的更多是SET,而項(xiàng)目后期,才是面向TE的任務(wù)。

? ? 2.測(cè)試工程師的工作
? ? 當(dāng)TE進(jìn)入產(chǎn)品時(shí),需要考慮以下問題:軟件薄弱點(diǎn);軟件是否有安全、隱私、兼容性、全球化等方面的問題;主要用戶場(chǎng)景功能是否正常等...TE是一個(gè)團(tuán)隊(duì)中全職地負(fù)責(zé)從整體角度發(fā)現(xiàn)產(chǎn)品或服務(wù)弱點(diǎn)的唯一角色。TE可能會(huì)介入項(xiàng)目的各個(gè)階段:從產(chǎn)品的構(gòu)思階段到第8個(gè)版本。
? ? TE主要寫中到大型的測(cè)試,在測(cè)試計(jì)劃及測(cè)試完整性上必須更加系統(tǒng)和周密,且擅長(zhǎng)發(fā)現(xiàn)需求中的模糊之處,分析溝通不明確的地方。TE需要與各種角色溝通,需要技術(shù)能力、領(lǐng)導(dǎo)力、深刻理解產(chǎn)品的能力多方面的要求。以下是TE職責(zé)的一般性描述:a)測(cè)試計(jì)劃和風(fēng)險(xiǎn)分析;b)評(píng)審需求、設(shè)計(jì)、代碼和測(cè)試;c)探索式測(cè)試;d)用戶場(chǎng)景;e)編寫測(cè)試用例;f)執(zhí)行測(cè)試用例;g)外包;h)使用統(tǒng)計(jì);i)用戶反饋;
? ? 1)測(cè)試計(jì)劃
? ? 理想情況下,測(cè)試計(jì)劃應(yīng)當(dāng)發(fā)揮核心作用,在軟件的整個(gè)生命周期中持續(xù)有效;隨著代碼庫的更新而更新,時(shí)刻代表最新的產(chǎn)品功能,而不是停留在項(xiàng)目開始階段時(shí)的樣子。
? ? 測(cè)試計(jì)劃應(yīng)該具有的特性如下:a)及時(shí)更新;b)描述軟件的目標(biāo)和賣點(diǎn);c)包含軟件的結(jié)構(gòu)、各組件和功能特性的名稱;d)描述軟件的功能和操作;e)描述必測(cè)點(diǎn);
? ? ACC是一種測(cè)試計(jì)劃的替代方法。ACC的指導(dǎo)原則如下:a)避免散漫的文字,推薦使用列表;b)不必推銷;c)簡(jiǎn)潔;d)不要把不重要、無法執(zhí)行的東西放入;e)漸進(jìn)式的描述;f)指導(dǎo)計(jì)劃者的思路;g)最終結(jié)果應(yīng)該是測(cè)試用例。ACC指導(dǎo)計(jì)劃者依次考察產(chǎn)品的三個(gè)維度達(dá)成這個(gè)目標(biāo):描述產(chǎn)品目標(biāo)的形容詞和副詞;確定產(chǎn)品各部分、各特性的名詞;描述產(chǎn)品實(shí)際做什么的動(dòng)詞。
? ? a)A代表特質(zhì)(Attribute)
? ? 特質(zhì)代表了產(chǎn)品的品質(zhì)和特色,是區(qū)別于競(jìng)爭(zhēng)對(duì)手的關(guān)鍵。需弄清楚我們?yōu)槭裁匆_發(fā)這個(gè)東西?它能帶來什么核心價(jià)值?它靠什么吸引用戶?這樣在測(cè)試過程中,就可以將測(cè)試用例關(guān)聯(lián)到這些標(biāo)簽。可以通過如下方式確定產(chǎn)品的特質(zhì):簡(jiǎn)單、精確、變化、短小。使用特質(zhì)的目的在于測(cè)試人員會(huì)意識(shí)到自己所做的測(cè)試是如何對(duì)產(chǎn)品存在的根本原因產(chǎn)生影響的。
? ? b)C代表組件(Component)
? ? 組件是構(gòu)成待建系統(tǒng)的模塊,是使一個(gè)軟件之所以如此的核心要素和代碼塊。對(duì)大型系統(tǒng)來說,組件是架構(gòu)圖中的框架;對(duì)小型項(xiàng)目來說,他們是代碼里的類和對(duì)象。
? ? c)C代表能力(Capability)
? ? 能力是對(duì)輸入的響應(yīng)、對(duì)查詢的應(yīng)答,以及代表用戶完成的活動(dòng)。如一個(gè)購物app具有商品搜索和完成一筆交易的能力。組件執(zhí)行某種功能來滿足產(chǎn)品的一個(gè)特質(zhì),這個(gè)活動(dòng)的結(jié)果是向用戶提供某種能力。能力表達(dá)的是用戶眼里系統(tǒng)的行為,應(yīng)當(dāng)描述系統(tǒng)的完整功能。在前面的例子中,能力只要說明用戶可以購物,而測(cè)試用例則要指定他們買什么東西。能力與測(cè)試用例的關(guān)系:每個(gè)能力至少對(duì)應(yīng)一個(gè)測(cè)試用例;很多能力需要多個(gè)測(cè)試用例;并非所有能力同等重要。
? ? ACC的完成,意味著所有可測(cè)試性的特性定義好了,剩下的就是預(yù)算和時(shí)間,這些需要排優(yōu)先級(jí),進(jìn)行風(fēng)險(xiǎn)分析。
? ? 今天到此為止,自我感覺能力比我們常說的feature列表可能更細(xì)化,但比用例又抽象,著重于主要場(chǎng)景,明天從3.2.2風(fēng)險(xiǎn)開始~