測(cè)試?yán)碚摶A(chǔ)一

一 軟件測(cè)試行業(yè)基礎(chǔ)介紹

  1. 為什么需要軟件測(cè)試
  • 一款軟件從無到有會(huì)經(jīng)歷很多開發(fā)階段由不同的人來參與開發(fā)芭逝,所以最終產(chǎn)出的軟件功能會(huì)存在問題督禽。因此為了保證軟件的功能是可用的亲桥,我們必須進(jìn)行測(cè)試;
  • 當(dāng)前的軟件行業(yè)已經(jīng)不再是功能為王了儿奶,用戶不僅僅只盯著功能是否滿足需求沾凄,還會(huì)對(duì)軟件是否容易上手梗醇,執(zhí)行效率是否ok...等一系列其他體驗(yàn)都有了更高的需求,所以這也需要我們對(duì)軟件進(jìn)行大量的測(cè)試撒蟀。
  1. 為什么選擇軟件測(cè)試
  • 國內(nèi)的軟件行業(yè)對(duì)于專業(yè)的軟件測(cè)試人員需求是慢慢變大叙谨;
  • 有些人喜歡喜歡創(chuàng)造世界所以他們做了開發(fā),而我們就是希望世界更加完美保屯。
  1. 為什么不讓開發(fā)自己做測(cè)試
  • 當(dāng)前行業(yè)有許多的測(cè)試從業(yè)人員本身之前都是開發(fā)崗手负;
  • 專業(yè)度:軟件測(cè)試和軟件開發(fā)分別屬于軟件行業(yè)當(dāng)中兩個(gè)不同的技術(shù)方向。所以讓專業(yè)的人做專業(yè)的事對(duì)質(zhì)量更加有保證配椭;
  • 思維定式:在軟件的開發(fā)周期中虫溜,對(duì)于程序員來說他們大多數(shù)的時(shí)間都是思考如何實(shí)現(xiàn)具體的軟件功能雹姊,而不會(huì)從用戶的角度考慮如何去“奇葩”的使用這些功能股缸;
  • 測(cè)試用例:相對(duì)于開發(fā)來說,產(chǎn)品就相當(dāng)于是他們的“孩子”吱雏,所以“下手”就不會(huì)那么狠敦姻。

二 軟件測(cè)試基本介紹

軟件知識(shí)回顧
1. 軟件的組成

  • 程序
  • 數(shù)據(jù)
  • 文檔

2. 軟件的分類

  • 按層次劃分:系統(tǒng)軟件瘾境、應(yīng)用軟件
  • 按組織劃分:商業(yè)軟件、開源軟件
  • 按結(jié)構(gòu)劃分:?jiǎn)螜C(jī)軟件镰惦、C/S結(jié)構(gòu)迷守、B/S結(jié)構(gòu)
1. 軟件測(cè)試定義

使用人工或自動(dòng)化手段運(yùn)行程序,為了發(fā)現(xiàn)軟件的錯(cuò)誤而執(zhí)行檢驗(yàn)的一個(gè)過程旺入。

2. 軟件測(cè)試目的

以最少的人力兑凿、物力、時(shí)間找到軟件中的缺陷并修改茵瘾,從而回避風(fēng)險(xiǎn)礼华。

3.軟件測(cè)試作用
  • 通過測(cè)試工作可以發(fā)現(xiàn)并修復(fù)軟件當(dāng)中存在的缺陷,從而提高用戶對(duì)產(chǎn)品的使用信心拗秘;
  • 測(cè)試可以記錄軟件 運(yùn)行過程中產(chǎn)生的一些數(shù)據(jù)圣絮,從而為決策提供數(shù)據(jù)支持;
  • 測(cè)試可以降低同類型產(chǎn)品開發(fā)遇到問題的風(fēng)險(xiǎn)雕旨。
4. 軟件測(cè)試的七個(gè)原則

所謂的測(cè)試的原則就是我們?cè)趫?zhí)行測(cè)試工作時(shí)必須要遵循的一些規(guī)則扮匠。

  • 測(cè)試顯示軟件存在缺陷(Testing shows presence of defects)
    測(cè)試只能證明軟件中存在缺陷,但并不能證明軟件中不存在缺陷凡涩。軟件測(cè)試是為了降低存在缺陷的可能性棒搜,即便是沒有找到缺陷,也不能證明軟件是完美的活箕。
  • 窮盡測(cè)試是不可能的(Exhaustive testing is impossible)
    現(xiàn)在軟件的國模越來越大帮非,復(fù)雜度越來越高,想做到完全性的測(cè)試是不可能的讹蘑。在測(cè)試階段末盔,測(cè)試人員可以根據(jù)風(fēng)險(xiǎn)和優(yōu)先級(jí)來進(jìn)行集中地高強(qiáng)度的測(cè)試,從而保證軟件的質(zhì)量座慰。
  • 測(cè)試盡早介入(Testing early)
    為什么測(cè)試要盡早介入呢陨舱,簡(jiǎn)單的說就是保證軟件質(zhì)量,降低風(fēng)險(xiǎn)和成本版仔。測(cè)試人員一般在需求階段就開始介入游盲,使缺陷在需求
    或設(shè)計(jì)階段就被發(fā)現(xiàn),缺陷發(fā)現(xiàn)越早蛮粮,修復(fù)的成本就越小益缎。
  • 缺陷集群性(2/8原則) (Defect clusteringe)
    缺陷集群性表名小部分模塊包含大部分的缺陷。軟件測(cè)試中存在Pareto原則:80%的缺陷發(fā)現(xiàn)在20%的模塊中然想;
    一個(gè)功能模塊發(fā)現(xiàn)的缺陷越高莺奔,那存在的未被發(fā)現(xiàn)的缺陷也越高,故發(fā)現(xiàn)的缺陷與未發(fā)現(xiàn)的缺陷成正比变泄。
  • 殺蟲劑悖論(Pesticide Paradox)
    反復(fù)使用相同的殺蟲劑會(huì)導(dǎo)致害蟲對(duì)殺蟲劑產(chǎn)生免疫而無法殺死害蟲令哟。軟件測(cè)試也一樣恼琼。如果一直使用相同的測(cè)試方法或手段,可能無法發(fā)現(xiàn)新的bug屏富;
    為了解決這個(gè)問題晴竞,測(cè)試用例應(yīng)當(dāng)定期修訂和評(píng)審,增加新的或不同的測(cè)試用例幫助發(fā)現(xiàn)更多的缺陷狠半。
    測(cè)試人員不能一直依賴于現(xiàn)有的測(cè)試技術(shù)噩死,而要不斷地提升測(cè)試方法以提高測(cè)試效率。
  • 測(cè)試活動(dòng)依賴于測(cè)試內(nèi)容(Testing is context dependent)
    根據(jù)業(yè)務(wù)的不同神年,軟件測(cè)試內(nèi)用也分為不同的行業(yè)甜滨,比如游戲行業(yè)、電商行業(yè)瘤袖、金融行業(yè)衣摩。不同的行業(yè),測(cè)試活動(dòng)的開展都有所不同捂敌,比如測(cè)試技術(shù)艾扮、測(cè)試工具的選擇,測(cè)試流程都不盡相同占婉,所以軟件測(cè)試的活動(dòng)開展依賴于所測(cè)試的內(nèi)容泡嘴。
  • 沒有錯(cuò)誤是好事謬論
    有可能99%沒有bug的軟件也是不能使用的。如果對(duì)錯(cuò)誤的需求進(jìn)行了徹底的測(cè)試逆济,這種情況就發(fā)生了酌予。軟件測(cè)試不僅是找出缺陷,同時(shí)也需要確認(rèn)軟件是否滿足需求奖慌。如果開發(fā)出來的產(chǎn)品不滿足用戶的需求抛虫,即便找到和修復(fù)了缺陷也作用不大。

三 測(cè)試對(duì)象

對(duì)于當(dāng)前的測(cè)試行業(yè)來說我們最經(jīng)常測(cè)試的主體就是軟件(主體功能)简僧,但是需要我們明白的是一個(gè)軟件也不僅僅只有功能需要測(cè)試建椰。我們可以將軟件分為三個(gè)部分組成:功能集合+使用說明+配置數(shù)據(jù)。對(duì)于一款軟件來說從無到有需要不同的過程岛马,我們可以將這個(gè)過程分為不同的階段棉姐,然后每個(gè)階段都會(huì)相應(yīng)有測(cè)試對(duì)象。

  1. 需求分析階段:各種需求規(guī)格說明啦逆;
  2. 軟件架構(gòu)設(shè)計(jì):API接口文檔(接口測(cè)試)伞矩;
  3. 編碼實(shí)現(xiàn)階段:源代碼(白盒測(cè)試、單元測(cè)試)夏志;
  4. 系統(tǒng)功能使用:軟件功能主體(當(dāng)前行業(yè)做的最多的一種測(cè)試)乃坤。

四、測(cè)試級(jí)別(測(cè)試階段)

軟件的開發(fā)都會(huì)依據(jù)相應(yīng)的開發(fā)模型,而測(cè)試級(jí)別指的就是在這個(gè)模型當(dāng)中我們?nèi)藶榈拈_發(fā)步驟侥袜。其中對(duì)于測(cè)試來說我們最常見的級(jí)別分類如下:
1. 單元測(cè)試
單元測(cè)試是完成最小的軟件設(shè)計(jì)單元(一般就是類、函數(shù)溉贿、組件)的驗(yàn)證工作枫吧,目標(biāo)是確保模塊被正確的編碼,通常情況下是白盒的宇色,對(duì)代碼風(fēng)格和規(guī)則九杂、程序設(shè)計(jì)和結(jié)構(gòu),業(yè)務(wù)邏輯等進(jìn)行靜態(tài)測(cè)試宣蠕,及早的發(fā)現(xiàn)和解決不易顯現(xiàn)的錯(cuò)誤例隆。
2. 集成測(cè)試
通過測(cè)試發(fā)現(xiàn)與模塊接口有關(guān)的問題。目標(biāo)是把通過了單元測(cè)試的模塊拿來抢蚀,構(gòu)造一個(gè)在設(shè)計(jì)中所描述的程序結(jié)構(gòu)镀层,應(yīng)當(dāng)避免一次性的集成(除非軟件規(guī)模很小)皿曲,而采用增量集成唱逢。
3. 系統(tǒng)測(cè)試
根據(jù)軟件需求規(guī)范的要求進(jìn)行系統(tǒng)測(cè)試,確認(rèn)系統(tǒng)滿足需求的要求屋休,由測(cè)試人員充當(dāng)用戶的角色對(duì)軟件的主體功能進(jìn)行測(cè)試坞古。
4. 回歸測(cè)試
當(dāng)發(fā)現(xiàn)并修改缺陷后,或在軟件中添加新的功能后劫樟,重新測(cè)試痪枫。用來檢查被發(fā)現(xiàn)的缺陷是否被改正,并且所做的修改沒有引發(fā)新的問題叠艳∧坛拢回歸測(cè)試可以通過人工重新行測(cè)試用例,也可以使用自動(dòng)化的工具來進(jìn)行附较。
5. 驗(yàn)收測(cè)試

  • 配置審查
    確保已開發(fā)軟件的所有文件資料均已編寫齊全尿瞭,并分類編目。
  • Alpha測(cè)試
    是由用戶在開發(fā)者的場(chǎng)所來進(jìn)行的翅睛,在一個(gè)受控的環(huán)境中進(jìn)行声搁。
  • Beta測(cè)試
    由軟件的最終用戶在一個(gè)或多個(gè)用戶所來進(jìn)行的,開發(fā)者通常不在現(xiàn)場(chǎng)捕发,用戶記錄測(cè)試中遇到對(duì)的問題并報(bào)告給開發(fā)者疏旨,開發(fā)者對(duì)系統(tǒng)進(jìn)行最后的修改,并開始準(zhǔn)備發(fā)布最終軟件扎酷。

五 系統(tǒng)測(cè)試分類

1. 功能測(cè)試

驗(yàn)證當(dāng)前軟件主體功能是否實(shí)現(xiàn)檐涝。

2. 兼容性測(cè)試

驗(yàn)證當(dāng)前軟件在不同的環(huán)境下是否還可以使用。windows環(huán)境能使用嗎?Linux環(huán)境能使用嗎谁榜?谷歌瀏覽器能使用嗎幅聘?其他瀏覽器呢?不同設(shè)備上呢窃植?mac帝蒿?ipad?

3. 安全測(cè)試

驗(yàn)證軟件是否只是對(duì)授權(quán)用戶提供功能使用巷怜。比如銀行卡葛超,支付寶等等。

4. 性能測(cè)試

相當(dāng)于當(dāng)前軟件消耗的資源延塑,產(chǎn)出能力绣张;運(yùn)行效率。

六 常用系統(tǒng)測(cè)試方法

1. 按測(cè)試對(duì)象分類
  • 白盒測(cè)試
    軟件底層代碼功能實(shí)現(xiàn)关带,同時(shí)邏輯正確侥涵。
  • 黑盒測(cè)試
    測(cè)試軟件外在功能是否可用(點(diǎn)點(diǎn)點(diǎn))。
  • 灰盒測(cè)試
    介于兩者之間(接口測(cè)試)宋雏。
2. 按測(cè)試對(duì)象是否執(zhí)行分類
  • 靜態(tài)測(cè)試
    測(cè)試對(duì)象不運(yùn)行独令,側(cè)重文檔和界面。
  • 動(dòng)態(tài)測(cè)試
    將軟件運(yùn)行在真實(shí)環(huán)境當(dāng)中
    思考:黑盒測(cè)試屬于靜態(tài)還是動(dòng)態(tài)好芭?白盒呢燃箭?
    黑盒測(cè)試有可能是動(dòng)態(tài)測(cè)試(運(yùn)行程序,看輸入輸出)舍败,也有可能是靜態(tài)測(cè)試(不運(yùn)行招狸,只看界面)
    白盒測(cè)試有可能是動(dòng)態(tài)測(cè)試(運(yùn)行程序并分析代碼結(jié)構(gòu)),也有可能是靜態(tài)測(cè)試(不運(yùn)行程序邻薯,只靜態(tài)查看代碼
    動(dòng)態(tài)測(cè)試有可能是黑盒測(cè)試(運(yùn)行裙戏,只看輸入輸出),也有可能是白盒測(cè)試(運(yùn)行并分析代碼結(jié)構(gòu))
    靜態(tài)測(cè)試有可能是黑盒測(cè)試(不運(yùn)行厕诡,只查看界面)累榜,也有可能是白盒測(cè)試(不運(yùn)行,只查看代碼)
3. 按測(cè)試手段分類
  • 手工測(cè)試
    由測(cè)試人員動(dòng)手的對(duì)被測(cè)對(duì)象進(jìn)行驗(yàn)證灵嫌,優(yōu)點(diǎn)就是可以靈活的改變測(cè)試操作和環(huán)境壹罚。
  • 自動(dòng)化測(cè)試
    兩種形式:一種是自己寫測(cè)試腳本,另外一種是通過第三方測(cè)試工具對(duì)被測(cè)試對(duì)象進(jìn)行測(cè)試
    優(yōu)點(diǎn):高效率完成人不能做的測(cè)試寿羞。

七 軟件質(zhì)量特性

描述當(dāng)前軟件是否好用猖凛,在當(dāng)前的軟件行業(yè)里面我們所采用的的一套標(biāo)準(zhǔn)是基于ISO這個(gè)組織定制的,從軟件測(cè)試角度而言绪穆,測(cè)試工程師需要了解每個(gè)特性及其子特性辨泳,以便于在分析測(cè)試需求虱岂、提取測(cè)試需求及評(píng)價(jià)被測(cè)對(duì)象時(shí)有的放矢,依據(jù)標(biāo)準(zhǔn)開展有效的測(cè)試活動(dòng)菠红。

1. 功能性:指軟件在指定條件下使用時(shí)第岖,滿足用戶明確和隱含需求的功能的能力。
  • 適合性:軟件為指定的任務(wù)和用戶目標(biāo)提供一組合適功能的能力试溯;
  • 準(zhǔn)確性:軟件提供具體有所需精確度的正確或相符的結(jié)果或效果的能力蔑滓;
  • 互操作性:軟件與一個(gè)或更多的規(guī)定系統(tǒng)進(jìn)行交互的能力;
  • 保密安全性:軟件保護(hù)信息和數(shù)據(jù)的能力耍共,以使未授權(quán)的人員或系統(tǒng)不能閱讀或修改這些信息和數(shù)據(jù)烫饼,而不拒絕授權(quán)人員或系統(tǒng)對(duì)它們的訪問猎塞;
  • 功能性依從性:軟件遵循與功能性相關(guān)的標(biāo)準(zhǔn)试读、約定或法規(guī)以及類似規(guī)定的能力。這些標(biāo)準(zhǔn)要考慮國際標(biāo)準(zhǔn)荠耽、國家標(biāo)準(zhǔn)钩骇、行業(yè)標(biāo)準(zhǔn)、企業(yè)內(nèi)部規(guī)范等铝量;
2. 易用性:指在指定條件下使用時(shí)倘屹,軟件被理解、學(xué)習(xí)慢叨、使用和吸引用戶的能力纽匙。
  • 易理解性:軟件使用戶能理解軟件是否合適,以及如何能將軟件用于特定的任務(wù)和使用環(huán)境的能力拍谐;
  • 易學(xué)性:軟件使用戶能學(xué)習(xí)其應(yīng)用的能力烛缔;
  • 易操作性:軟件使用戶能操作和控制它的能力;
  • 吸引性:軟件吸引用戶的能力轩拨;
  • 易用性依從性:軟件遵循與易用性相關(guān)的標(biāo)準(zhǔn)践瓷、約定、風(fēng)格指南或法規(guī)的能力亡蓉。這些標(biāo)準(zhǔn)要考慮國際標(biāo)準(zhǔn)晕翠、國家標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)砍濒、企業(yè)內(nèi)部規(guī)范等淋肾,如企業(yè)內(nèi)部的界面規(guī)范等;
3. 可靠性:可靠性是指軟件在指定條件下使用時(shí)爸邢,維持規(guī)定的性能級(jí)別的能力巫员。可靠性要求有兩個(gè)重要的概念:平均故障修復(fù)時(shí)間(mean time to repair甲棍,MTTR)简识、平均無故障時(shí)間(mean timebetween failures赶掖,MTBF),MTTR值越小七扰,說明故障修復(fù)時(shí)間越短奢赂,故障處理響應(yīng)速度較快,MTBF值越大颈走,說明軟件故障率低膳灶,系統(tǒng)可靠性高。
  • 成熟性: 軟件避免因?yàn)槟承╁e(cuò)誤而導(dǎo)致失效或故障的能力立由;
  • 容錯(cuò)性: 在軟件出現(xiàn)故障或者違反指定接口的情況下轧钓,軟件維持規(guī)定的性能級(jí)別的能力;
  • 易恢復(fù)性: 在失效發(fā)生的情況下锐膜,軟件重建規(guī)定的性能級(jí)別并恢復(fù)受直接影響的數(shù)據(jù)的能力毕箍;
  • 可靠性依從性: 軟件遵循與可靠性相關(guān)的標(biāo)準(zhǔn)、約定或法規(guī)的能力道盏。
4.效率性:效率是指在規(guī)定條件下而柑,相對(duì)于所用資源的數(shù)量,軟件可提供適當(dāng)性能的能力荷逞。
  • 時(shí)間特性:在規(guī)定條件下媒咳,軟件執(zhí)行其功能時(shí),提供適當(dāng)?shù)捻憫?yīng)和處理時(shí)間以及吞吐率的能力种远,即完成用戶的某個(gè)功能需要的響應(yīng)時(shí)間涩澡;
  • 資源利用性:在規(guī)定條件下,軟件執(zhí)行其功能時(shí)坠敷,使用合適的資源數(shù)量和類別的能力妙同;
  • 效率依從性:軟件遵循與效率相關(guān)的標(biāo)準(zhǔn)或約定的能力。
5. 可維護(hù)性:可維護(hù)性是指軟件可被修改的能力常拓。修改可能包括修正渐溶、改進(jìn)或軟件對(duì)環(huán)境、需求和功能規(guī)格說明變化的適應(yīng)弄抬。
  • 易分析性:軟件診斷軟件中的缺陷茎辐、失效原因或識(shí)別待修改部分的能力;
  • 易改變性:軟件使指定的修改可以被實(shí)現(xiàn)的能力掂恕;
  • 穩(wěn)定性:軟件避免由于軟件修改而造成意外結(jié)果的能力拖陆;
  • 易測(cè)試性:軟件使已修改軟件能被確認(rèn)的能力;
  • 維護(hù)性依從性:軟件遵循與維護(hù)性相關(guān)的標(biāo)準(zhǔn)或約定的能力懊亡。
6. 可移植性:可移植性是指軟件從一種環(huán)境遷移到另外一種環(huán)境的能力依啰。
  • 適應(yīng)性:軟件無須采用有別于為考慮該軟件的目的而準(zhǔn)備的活動(dòng)或手段,就可能適應(yīng)不同指定環(huán)境的能力店枣;
  • 易安裝性:軟件在指定環(huán)境中被安裝的能力速警;
  • 共存性:軟件在公共環(huán)境中同與其分享公共資源的其他獨(dú)立軟件共存的能力叹誉;
  • 易替換性:軟件在同樣環(huán)境下,替代另一個(gè)相同用途的指定軟件產(chǎn)品的能力闷旧;
  • 可移植性依從性:軟件遵循與可移植性相關(guān)的標(biāo)準(zhǔn)或約定的能力长豁。

八 軟件測(cè)試流程

1.需求分析評(píng)審
  • 需求分析目的是理解需求,理解業(yè)務(wù)
  • 弄清楚我們的產(chǎn)品有哪些功能忙灼?有哪些非功能性需求匠襟?
  • 明白我們的用戶群體是什么?用戶會(huì)如何來使用我們的產(chǎn)品该园?
  • 需求是否合理酸舍?技術(shù)實(shí)現(xiàn)難度?


    需求分析.jpg

    具體執(zhí)行如下:


    需求分析方法.jpg
2. 測(cè)試計(jì)劃制定

當(dāng)對(duì)需求有完整和全面的理解后里初,接下來我們需要制定詳細(xì)的測(cè)試計(jì)劃啃勉,為即將開始的測(cè)試工作做好充足的準(zhǔn)備

  • 資源估算:整個(gè)項(xiàng)目需要多少資源?硬件資源青瀑,人力璧亮、時(shí)間資源等
  • 進(jìn)度控制:每個(gè)測(cè)試活動(dòng)時(shí)間點(diǎn)控制
  • 風(fēng)險(xiǎn)控制:對(duì)于在測(cè)試活動(dòng)過程中出現(xiàn)問題的解決方案
  • 資源配置:如何更有效率的使用資源
  • 驗(yàn)收標(biāo)準(zhǔn):文檔萧诫、項(xiàng)目斥难、測(cè)試過程的驗(yàn)收標(biāo)準(zhǔn)定義
  • 測(cè)試策略:測(cè)試中使用的測(cè)試策略
3. 測(cè)試用例設(shè)計(jì)

測(cè)試用例設(shè)計(jì)是軟件測(cè)試工作的靈魂
任何一項(xiàng)測(cè)試活動(dòng)的核心都是測(cè)試思維,即如何進(jìn)行測(cè)試帘饶。而測(cè)試用例就是測(cè)試思維的體現(xiàn)哑诊。功能的測(cè)試優(yōu)先級(jí)、如何操作及刻、輸入什么數(shù)據(jù)镀裤、應(yīng)該有什么的結(jié)果等等都體現(xiàn)在測(cè)試用例中。

4.測(cè)試用例評(píng)審

測(cè)試用例的評(píng)審就是為了給測(cè)試用例進(jìn)行查漏補(bǔ)缺缴饭。
評(píng)審方式:

  • 測(cè)試內(nèi)部評(píng)審
  • 項(xiàng)目組評(píng)審:項(xiàng)目相關(guān)人員參與評(píng)審(開發(fā)暑劝、測(cè)試、產(chǎn)品等等)
5.執(zhí)行測(cè)試用例

前面的工作做的充足的話颗搂,在執(zhí)行測(cè)試用例的時(shí)候就會(huì)非常簡(jiǎn)單了特幔。只需要根據(jù)測(cè)試用例一條一條去執(zhí)行程序即可隐轩。發(fā)現(xiàn)缺陷就提交缺陷,測(cè)試通過就繼續(xù)執(zhí)行。
其實(shí)測(cè)試執(zhí)行的過程真的很簡(jiǎn)單撇他,只是在執(zhí)行的過程中各部門的協(xié)作,溝通以及各項(xiàng)文檔的輸出很復(fù)雜运褪。

  • 測(cè)試和開發(fā)的溝通
    “XXX 我這有個(gè)問題宾袜,你過來看下”
    “什么問題?你演示下我看看”
    “這不是問題貌嫡,這個(gè)地方只能這樣做”或者 “這不是問題比驻,我剛剛跟需求確認(rèn)過的”
    “這樣做不合邏輯案盟荨!”
    “那你說怎么處理别惦?”
    “我覺得應(yīng)該....處理”
    “你先跟需求確認(rèn)下吧”
    測(cè)試與開發(fā)溝通無疑是關(guān)于某個(gè)功能或者產(chǎn)品的朗伶,主要圍繞幾個(gè)以下幾個(gè)點(diǎn):
    • 程序某個(gè)地方存在問題
    • 產(chǎn)品需求信息在測(cè)試和開發(fā)中不統(tǒng)一
    • 程序某功能應(yīng)該是怎么處理
    • 缺陷修復(fù)后的驗(yàn)證
  • 測(cè)試和需求的溝通
    測(cè)試人員與需求的溝通難點(diǎn)主要還是體現(xiàn)在需求不明確或者需求變更上。
    很多時(shí)候需求人員的需求文檔都是不全面的步咪,測(cè)試人員在寫測(cè)試用例時(shí)需要一次又一次的與需求進(jìn)行確認(rèn)论皆,一來二去,需求估計(jì)有種想把桌子里40米長(zhǎng)的大刀放桌上來猾漫。
    另一方面在項(xiàng)目過程中点晴,不可避免的會(huì)出現(xiàn)需求變更,只要出現(xiàn)變更就意味著之前的測(cè)試準(zhǔn)備工作就作廢悯周。
    測(cè)試與需求如何溝通呢:
    • 切記不能停留在口頭溝通粒督,確認(rèn)
    • 所有的需求確認(rèn)或者需求變更都需要文檔化,實(shí)在不行也需要發(fā)郵件
    • 每一次確認(rèn)禽翼、變更都需要通過項(xiàng)目相關(guān)人
    • 建立完善的需求變更體系屠橄,流程上控制需求變更
  • 測(cè)試結(jié)果的反饋
    測(cè)試結(jié)果的反饋容易出現(xiàn)問題的地方就是結(jié)果描述不清楚,增加項(xiàng)目的時(shí)間和溝通成本闰挡。解決這個(gè)問題最好的辦法就是將測(cè)試結(jié)果盡可能的描述清楚锐墙。
    測(cè)試結(jié)果反饋分為兩種:
    • 測(cè)試結(jié)果反饋分為兩種:
    • 在缺陷管理工具中提交缺陷
6. 缺陷管理

在開發(fā)階段,測(cè)試人員最重要的產(chǎn)出就是缺陷长酗。缺陷并不是數(shù)量越多溪北,就越有價(jià)值。更應(yīng)該關(guān)注缺陷的質(zhì)量夺脾、缺陷的管理以及缺陷分析之拨。


缺陷管理.jpg

缺陷流程圖處理圖:


缺陷流程圖.jpg

缺陷管理是軟件測(cè)試活動(dòng)中極其重要的一環(huán),很多時(shí)候測(cè)試用例并沒有發(fā)現(xiàn)多少缺陷咧叭,反而自己在運(yùn)行程序的過程中發(fā)現(xiàn)了很多缺陷蚀乔,那這些缺陷就是對(duì)測(cè)試用例的補(bǔ)充,對(duì)之后的測(cè)試就可以提供思路菲茬。
7. 輸出測(cè)試報(bào)告

測(cè)試報(bào)告一般是在項(xiàng)目測(cè)試結(jié)束或一個(gè)迭代完成之后由測(cè)試負(fù)責(zé)人編寫吉挣。若不是項(xiàng)目,只有一兩個(gè)測(cè)試人員生均,那就是由該項(xiàng)目主導(dǎo)人來寫听想,若只有你一個(gè)來測(cè)試,那就是由你來寫马胧。
測(cè)試報(bào)告主要內(nèi)容大致可以分為測(cè)試范圍汉买、測(cè)試進(jìn)度、缺陷管理佩脊、測(cè)試結(jié)論四大部分蛙粘,在實(shí)際編寫過程中垫卤,我們根據(jù)企業(yè)的要求輸出這四個(gè)部分或包含這四個(gè)部分以上的內(nèi)容即可。

  • 測(cè)試范圍
    測(cè)試范圍主要是寫本次項(xiàng)目或本次迭代需要測(cè)試的功能出牧,一般來說是以新增功能和修改功能為主穴肘,以回歸測(cè)試內(nèi)容為輔,測(cè)試報(bào)告中的測(cè)試范圍可以摘取測(cè)試計(jì)劃中的測(cè)試范圍舔痕,再根據(jù)本輪測(cè)試活動(dòng)中實(shí)際測(cè)試的功能進(jìn)行補(bǔ)充
  • 測(cè)試進(jìn)度
    測(cè)試報(bào)告中的測(cè)試進(jìn)度由二部分組成:一個(gè)是時(shí)間進(jìn)度安排(展示)评抚,另一個(gè)是人員測(cè)試時(shí)間花費(fèi)
  • 缺陷管理
    缺陷管理是測(cè)試報(bào)告中的核心內(nèi)容,而測(cè)試報(bào)告中需要對(duì)本輪測(cè)試缺陷從不同維度進(jìn)行輸出伯复,目的就是為了從缺陷分析中得出軟件質(zhì)量慨代、修改bug的效率、開發(fā)質(zhì)量等
  • 測(cè)試結(jié)論
    測(cè)試報(bào)告中的測(cè)試結(jié)論絕對(duì)是占C位的啸如,也有企業(yè)寫測(cè)試報(bào)告只需要測(cè)試結(jié)論就行侍匙; 測(cè)試結(jié)論中包含對(duì)本輪測(cè)試過程的總結(jié),主要是得出本輪測(cè)試之后項(xiàng)目是否達(dá)到了上線標(biāo)準(zhǔn)叮雳,所以
    測(cè)試結(jié)論有測(cè)試通過想暗,可以上線,或者是測(cè)試不通過帘不,建議不上線
8. 產(chǎn)品發(fā)布

進(jìn)入發(fā)布階段就意味著產(chǎn)品已經(jīng)通過了測(cè)試说莫,可以發(fā)布到線上,交付給用戶使用厌均。

  • 測(cè)試通過準(zhǔn)則規(guī)范
    • 測(cè)試需求功能覆蓋率100%
    • 測(cè)試用例通過率95%以上
    • 遺留缺陷沒有嚴(yán)重程度3級(jí)以及以上的缺陷
9. 結(jié)束測(cè)試

整理整個(gè)測(cè)試過程中產(chǎn)出的文檔唬滑,并進(jìn)行歸檔整理告唆,以便日后使用棺弊。

其實(shí)產(chǎn)品發(fā)布之后,也可能會(huì)進(jìn)入到日常維護(hù)階段擒悬,并不會(huì)結(jié)束測(cè)試模她。
產(chǎn)品上線后,用戶能穩(wěn)定的長(zhǎng)期使用懂牧,就意味著發(fā)布的功能進(jìn)入到日常維護(hù)階段侈净。而這里并不是終點(diǎn),這個(gè)階段將一直存在僧凤。
在這個(gè)階段畜侦,測(cè)試人員的主要工作就比較簡(jiǎn)單:

  • 持續(xù)測(cè)試,沒有產(chǎn)品是沒有缺陷的
  • 即使收集用戶反饋的問題躯保,并盡快組織人員修復(fù)
  • 長(zhǎng)時(shí)間穩(wěn)定性測(cè)試(自動(dòng)化測(cè)試)
    總結(jié):
    軟件測(cè)試整個(gè)過程旋膳,關(guān)注的是在整個(gè)軟件生命周期中,各個(gè)階段的測(cè)試活動(dòng)
    通過對(duì)各個(gè)階段的過程質(zhì)量把控途事,從而提高產(chǎn)品的測(cè)試質(zhì)量验懊。產(chǎn)品的質(zhì)量并不是測(cè)試能決定的擅羞,而是整個(gè)項(xiàng)目構(gòu)建過程中,通過一次次的優(yōu)化過程义图,不斷的總結(jié)成長(zhǎng)减俏,是整個(gè)項(xiàng)目團(tuán)隊(duì)決定的。
    不同的工種都在這個(gè)過程中起到舉足輕重的作用碱工,而全程軟件測(cè)試強(qiáng)調(diào)不斷提高每個(gè)階段的質(zhì)量娃承,最終提高項(xiàng)目團(tuán)隊(duì)的綜合能力,從而提高產(chǎn)品質(zhì)量怕篷。
9. 企業(yè)面試題
  1. 寫出你對(duì)軟件測(cè)試的認(rèn)識(shí)草慧,盡量詳細(xì)
    參考答案:
    軟件測(cè)試就是在軟件投入運(yùn)行前,對(duì)軟件需求分析匙头、設(shè)計(jì)規(guī)格說明和編碼的最終復(fù)審漫谷,是軟件質(zhì)量保證的關(guān)鍵步驟
    軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程□逦觯或者說舔示,軟件測(cè)試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一批測(cè)試用例(即輸入數(shù)據(jù)及其預(yù)期的輸出結(jié)果),并利用這些測(cè)試用例去運(yùn)行程序电抚,以發(fā)現(xiàn)程序錯(cuò)誤的過程惕稻。
  2. 簡(jiǎn)述CS、B\S的優(yōu)缺點(diǎn)
    參考答案:
    B/S最大優(yōu)勢(shì)為客戶端免維護(hù)蝙叛,適用于用戶群龐大俺祠,或客戶需求經(jīng)常發(fā)生變化的情況。
    C/S功能強(qiáng)大借帘,可以減輕服務(wù)端壓力蜘渣,如果用戶需求特別復(fù)雜,用C/S肺然。
  3. 測(cè)試的目的是什么蔫缸?測(cè)試流程是什么?
    參考答案:
    是想以最少的人力际起、物力和時(shí)間找出軟件中潛在的各種錯(cuò)誤和缺陷拾碌,通過修正各種錯(cuò)誤和缺陷提高軟件質(zhì)量,回避軟件發(fā)布后由于潛在的軟件缺陷和錯(cuò)誤造成隱患所帶來的商業(yè)風(fēng)險(xiǎn)街望。
    需求分析評(píng)審-指定測(cè)試計(jì)劃-編寫測(cè)試用例-測(cè)試用例評(píng)審-測(cè)試用例執(zhí)行-輸出測(cè)試報(bào)告
  4. 什么叫QA校翔?什么叫QC?什么叫TEST灾前?他們分別關(guān)注產(chǎn)品的哪些階段防症?
    參考答案:
    QA:質(zhì)量保證。流程的監(jiān)督者,職責(zé)是創(chuàng)建和執(zhí)行改進(jìn)軟件開發(fā)過程告希,并防止軟件缺陷發(fā)生的標(biāo)準(zhǔn)和方法扑浸。
    QC:質(zhì)量控制。也是測(cè)試人員燕偶,職責(zé)是盡可能早的發(fā)現(xiàn)軟件的缺陷喝噪,并確保缺陷得到修復(fù)
    TEST:執(zhí)行測(cè)試。執(zhí)行軟件以驗(yàn)證其滿足指定的需求并檢測(cè)錯(cuò)誤的過程指么。
  5. 你認(rèn)為軟件工程師必備的素質(zhì)和技能是什么酝惧?
    參考答案:
    素質(zhì):態(tài)度、責(zé)任伯诬、溝通能力晚唇。
    技能:
    (1) 規(guī)范、標(biāo)準(zhǔn)化的編碼能力
    (2) 認(rèn)識(shí)和運(yùn)用數(shù)據(jù)庫的能力
    (3) 較強(qiáng)的動(dòng)手能力和解決實(shí)際問題的能力
    (4) 持續(xù)的學(xué)習(xí)能力盗似、掌握最新的IT技術(shù)
    (5) 較強(qiáng)的英文閱讀和寫作能力
    6.單元測(cè)試哩陕、集成測(cè)試、系統(tǒng)測(cè)試的側(cè)重點(diǎn)是什么赫舒?
    參考答案:
    單元測(cè)試:模塊悍及、方法
    集成測(cè)試:接口
    系統(tǒng)測(cè)試:整個(gè)系統(tǒng)的把控
  6. 黑盒、白盒接癌、回歸心赶、壓力測(cè)試的定義
    參考答案:
    黑盒測(cè)試:把被測(cè)物體看成一個(gè)黑盒子,不需了解內(nèi)部結(jié)構(gòu)缺猛,注重輸入輸出缨叫,所以又稱為功能測(cè)試
    白盒測(cè)試:又稱為結(jié)構(gòu)測(cè)試,因?yàn)樽⒅氐氖擒浖慕Y(jié)構(gòu)荔燎、邏輯和算法
    回歸測(cè)試:是指在發(fā)生修改之后重新測(cè)試先前的測(cè)試以保證修改的正要性
    壓力測(cè)試:是對(duì)系統(tǒng)不斷施加壓力的測(cè)試耻姥,是通過確定一個(gè)系統(tǒng)的瓶頸或者不能接收的性能點(diǎn),來獲得系統(tǒng)能提供的最大服務(wù)級(jí)別的測(cè)試
  7. 軟件測(cè)試的目的(C)
    A. 避免軟件開發(fā)中出現(xiàn)的錯(cuò)誤
    B. 發(fā)現(xiàn)軟件開發(fā)中出現(xiàn)的錯(cuò)誤
    C. 盡可能發(fā)現(xiàn)并排除軟件中潛藏的錯(cuò)誤湖雹,日積月累可靠性
    D. 修改軟件中出現(xiàn)的錯(cuò)誤
  8. 軟件的生命周期從軟件的計(jì)劃到廢棄不用為止咏闪,劃分為若干階段,并賦予任務(wù)和活動(dòng)摔吏,他們分別是:
    參考答案:
    系統(tǒng)調(diào)查、系統(tǒng)分析纵装、系統(tǒng)設(shè)計(jì)征讲、程序設(shè)計(jì)、系統(tǒng)測(cè)試和運(yùn)行維護(hù)橡娄。
  9. 在測(cè)試中的80-20原則是指:80%的缺陷存在于20%的軟件程序中或模塊中
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末诗箍,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子挽唉,更是在濱河造成了極大的恐慌滤祖,老刑警劉巖筷狼,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異匠童,居然都是意外死亡埂材,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門汤求,熙熙樓的掌柜王于貴愁眉苦臉地迎上來俏险,“玉大人,你說我怎么就攤上這事扬绪∈溃” “怎么了?”我有些...
    開封第一講書人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵挤牛,是天一觀的道長(zhǎng)莹痢。 經(jīng)常有香客問我,道長(zhǎng)墓赴,這世上最難降的妖魔是什么格二? 我笑而不...
    開封第一講書人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮竣蹦,結(jié)果婚禮上顶猜,老公的妹妹穿的比我還像新娘。我一直安慰自己痘括,他們只是感情好长窄,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著纲菌,像睡著了一般挠日。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上翰舌,一...
    開封第一講書人閱讀 49,837評(píng)論 1 290
  • 那天嚣潜,我揣著相機(jī)與錄音,去河邊找鬼椅贱。 笑死懂算,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的庇麦。 我是一名探鬼主播计技,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼山橄!你這毒婦竟也來了垮媒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎睡雇,沒想到半個(gè)月后萌衬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡它抱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年秕豫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抗愁。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡馁蒂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蜘腌,到底是詐尸還是另有隱情沫屡,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布撮珠,位于F島的核電站沮脖,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏芯急。R本人自食惡果不足惜勺届,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望娶耍。 院中可真熱鬧免姿,春花似錦、人聲如沸榕酒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽想鹰。三九已至紊婉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間辑舷,已是汗流浹背喻犁。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留何缓,地道東北人肢础。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像歌殃,于是被迫代替她去往敵國和親乔妈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349