首頁>Club>
7
回覆列表
  • 1 # 是梁先生喔

    軟體測試的定義、生命週期、工作流程、需求分析;

    測試用例的設計、編寫、評審;

    bug的基本知識以及禪道的使用;

    測試計劃、測試報告的編寫;

    SVN、Git版本控制工具的使用;

    釋出專案進行立項,建立專案組進行分工;

    需求評審,學會如何看需求文件,進行需求分析,羅列測試點;

    整理測試點,編寫測試用例,然後進行用例評審;

    執行測試,比如功能、介面、前後臺、相容性、資料庫,對於發現的bug提交到禪道;

    分析、總結、編寫測試報告;

  • 2 # 嘉靖不上朝

    一、軟體的生命週期(SDLC,Systems Development Life Cycle,SDLC)

    軟體計劃與可行性研究(問題定義、可行性研究);需求分析;軟體設計(概要設計、詳細設計);編碼;軟體測試;執行與維護

    生存週期劃分

    各階段的任務彼此間儘可能相對獨立,同一個階段各項任務的性質儘可能相同,從而降低每個階段任務的複雜性,簡化不 同階段之間的聯絡,有利於軟體開發過程的組織管理。

    生存週期基線

    功能基線(functional baseline)

    功能基線是指在系統分析與軟體定義階段結束時,經過正式評審和批准的系統設計規格說明書中對待軟體生命週期開發系統 的規格說明;或是指經過專案委託單位和專案承辦單位雙方簽字同意的協議書或合同中所規定的對待開發軟體系統 的 規格說明;或是由下級申請經上級同意或直接由上級下達的專案任務書中所規定的對待開發軟體系統的規格說明。功能基 線是最初批准的功能配置標識。

    指派基線(allocated baseline)

    指派基線是指在軟體需求分析階段結束時,經過正式評審和批准的軟體需求的規格說明。指派基線是最初批准的指派配置標 識。

    產品基線(product baseline)

    產品基線是指在軟體組裝與系統測試階段結束時,經過正式評審的批准的有關所開發的軟體產品的全部配置項的規格說明。 產品基線是最初批准的產品配置標識。

    SDLC的六個階段

    定義及規劃

    需求分析

    在確定軟體開發可行的情況下,對軟體需要實現的各個功能進行詳細分析。需求分析階段是一個很重要的階段,這一階段做 得好,將為整個軟體開發專案的成功打下良好的基礎。"唯一不變的是變化本身。",同樣需求也是在整個軟體開發過程中不 斷變化和深入的,因此我們必須制定需求變更計劃來應付這種變化,以保護整個專案的順利進行。

    軟體設計

    此階段主要根據需求分析的結果,對整個軟體系統進行設計,如系統框架設計,資料庫設計等等。軟體設計一般分為總體設 計和詳細設計。好的軟體設計將為軟體程式編寫打下良好的基礎。

    程式編碼

    此階段是將軟體設計的結果轉換成計算機可執行的程式程式碼。在程式編碼中必須要制定統一,符合標準的編寫規範。以保證 程式的可讀性,易維護性,提高程式的執行效率。

    軟體測試

    在軟體設計完成後要經過嚴密的測試,以發現軟體在整個設計過程中存在的問題並加以糾正。整個測試過程分單元測試、組 裝測試以及系統測試三個階段進行。測試的方法主要有白盒測試和黑盒測試兩種。在測試過程中需要建立詳細的測試計劃並 嚴格按照測試計劃進行測試,以減少測試的隨意性。

    執行維護

    軟體維護是軟體生命週期中持續時間最長的階段。在軟體開發完成並投入使用後,由於多方面的原因,軟體不能繼續適應用 戶的要求。要延續軟體的使用壽命,就必須對軟體進行維護。軟體軟體生存週期的維護包括糾錯性維護和改進性維護兩個方 面。

    週期模型

    典型的幾種生命週期模型包括瀑布模型、快速原型模型、迭代模型

    二、軟體測試在軟體生命週期(瀑布模型)中的對應關係

    三、軟體測試過程

    第一步:對要執行測試的產品/專案進行分析,確定測試策略,制定測試計劃。該計劃被稽核批准後轉向第二步。測試工作啟動前一定要確定正確的測試策略和指導方針,這些是後期開展工作的基礎。只有將本次的測試目標和要求分析清楚,才能決定測試資源的投入。

    第二步:設計測試用例。設計測試用例要根據測試需求和測試策略來進行,進度壓力不大時,應該設計的詳細,如果進度、成本壓力較大,則應該保證測試用例覆蓋到關鍵性的測試需求。該用例被批准後轉向第三步。

    第三步:如果滿足“啟動準則”(EntryCriteria),那麼執行測試。執行測試主要是搭建測試環境,執行測試用例。執行測試時要進行進度控制、專案協調等工作。

    第四步:提交缺陷。這裡要進行缺陷稽核和驗證等工作。

    第五步:消除軟體缺陷。通常情況下,開發經理需要稽核缺陷,並進行缺陷分配。程式設計師修改自己負責的缺陷。在程式設計師修改完成後,進入到迴歸測試階段。如果滿足“完成準則”(ExitCriteria),那麼正常結束測試。

    第六步:撰寫測試報告。對測試進行分析,總結本次的經驗教訓,在下一次的工作中改。

    軟體測試過程管理,主要包括軟體測試是什麼樣的過程,如何評價一個軟體測試過程,如何進行配置管理和測試風險分析以及測試成本的管理。

    四、軟體測試流程(與第三條對應)

    1、制定測試計劃

    2、編輯測試用例

    3、執行測試用例

    4、發現並提交BUG

    5、開發組修正BUG

    6、對已修正BUG進行返測

    7、修正完成的BUG將狀態置為已關閉,未正確修正的BUG重新啟用

    五、測試用例

    測試用例(Test Case)是為某個特殊目標而編制的一組測試輸入、執行條件以及預期結果,以便測試某個程式路徑或核實是否滿足某個特定需求。

    測試用例的要素為:版本號、模組名稱、用例編號、用例名稱、用例級別、預置條件、驗證步驟、期望結果(含判斷標準)、測試結果、測試時間、測試人員等。(其中核心要素為預置條件、驗證步驟、期望結果)

    測試用例的設計方法:等價類劃分、邊界值分析、錯誤推測法、因果圖法、場景設計法

    一份好的測試用例所要達到以下幾點要求:測試用例必須完成對需求的完整覆蓋(即用例和需求的雙向可追溯性);測試用例必須是可執行的;測試用例的結果唯一性;測試用例必須簡潔明瞭

    六、缺陷報告(提交bug)

    一份有效的缺陷報告要素通常包括:標題、前提、測試環境、操作步驟、實際結果、期望結果、出現的頻率、優先順序、嚴重等級、附件(一般是圖片形式)。

    另外還會有一些附加資訊,如測試人員、開發負責人等。

    標題:簡明扼要,無歧義

    優先順序 Priority(4個等級):軟體被修復的緊急程度

    1--立即解決:缺陷導致系統幾乎不能執行使用 或 嚴重妨礙測試的執行(需立即修改)

    2--高優先順序:缺陷嚴重,影響到測試了(當天或第二天要及時解決的)

    3--正常:一般錯誤

    4--低優先順序:可以在開發有時間的時候處理,如頁面文字框對齊顯示

    嚴重等級 Severity(4個等級):缺陷引起的故障對使用者使用系統的影響

    1--致命的:主流程不通,導致系統功能缺失、使用者資料被破壞、系統崩潰、宕機

    2--嚴重的:影響流程的 比較嚴重的,比如系統主要功能部分未實現

    3--一般:系統的次要功能沒有完全實現,但不影響使用者的正常使用

    一般來說,缺陷越嚴重,優先順序越高,但也有例外:

    1)從使用者角度看,缺陷不是很嚴重,但可能影響到測試執行了(優先順序高嚴重等級低)

    2) 有些缺陷比較嚴重,但由於技術的限制,暫時沒法修改。這時優先順序就降低了

    附件

    有時候,用文字很難清楚描述缺陷,此時用圖片(畫筆指明問題)就很直觀了

    如何有效的報告缺陷?

    單一準確:每個報告只針對一個缺陷,如果有多個缺陷,可能開發只修正了其中一個,其他的沒有得到修改,加長了缺陷的生命週期

    可以再現:不能忽視或省略任何一項操作步驟,特別是關鍵性的操作,如描述的不夠清楚,RD(Research and Development engineer)就會過來溝通怎麼操作的,浪費了大家的時間

    完整統一:完整的描述資訊

    短小簡練:使用關鍵詞

    特定條件:有些問題只在特定環境下存在

    七、測試報告

    測試報告是指把測試的過程和結果寫成文件,對發現的問題和缺陷進行分析,為糾正軟體的存在的質量問題提供依據,同時為軟體驗收和交付打下基礎。

    一份詳細的測試報告包含足夠的資訊,包括產品質量和測試過程的評價,測試報告基於測試中的資料採集以及對最終的測試結果分析。

    測試報告的主體框架為:

    1、首頁

    ·· 報告名稱(軟體名稱+版本號+使用者端型別(android,iphone,後臺管理等等)+測試範圍(單元,整合,系統,模組等等)+測試報告)

    ·· 報告委託方,報告責任方,報告日期等

    ·· 版本變化歷史

    ·· 密級

    2、引言

    2.1編寫目的

    本測試報告的具體編寫目的,指出預期的讀者範圍。

    2.2 專案背景

    對專案目標和目的進行簡要說明。必要時包括簡史,這部分不需要腦力勞動,直接從需求或者招標檔案中複製即可。

    2.3 系統簡介

    如果設計說明書有此部分,照抄。注意必要的框架圖和網路拓撲圖能吸引眼球。

    2.4 術語和縮略語

    列出設計本系統/專案的專用術語和縮寫語約定。對於技術相關的名詞和與多義詞一定要註明清楚,以便閱讀時不會產生歧義。

    2.5 參考資料

    3、測試概要

    測試的概要介紹,包括測試的一些宣告、測試範圍、測試目的等等,主要是測試情況簡介。(其他測試經理和質量人員關注部分)

    3.1測試方法(和工具)

    簡要介紹測試中採用的方法(和工具)。

    3.2測試範圍

    介紹本次所測試的軟體功能

    3.3測試環境與配置

    簡要介紹測試環境及其配置。

    4、測試結果與缺陷分析

    整個測試報告中這是最激動人心的部分,這部分主要彙總各種資料並進行度量,度量包括對測試過程的度量和能力評估、對軟體產品的質量度量和產品評估。對於不需要過程度量或者相對較小的專案,例如用於驗收時提交使用者的測試報告、小型專案的測試報告,可省略過程方面的度量部分;而採用了CMM/ISO或者其他工程標準過程的,需要提供過程改進建議和參考的測試報告-主要用於公司內部測試改進和缺陷預防機制-則過程度量需要列出。

    4.1測試執行情況與記錄

    描述測試資源消耗情況,記錄實際資料。(測試、專案經理關注部分)

    4.1.1測試組織

    可列出簡單的測試組架構圖

    4.1.2測試時間

    列出測試的跨度和工作量,最好區分測試文件和活動的時間。資料可供過程度量使用。

    4.1.3測試版本

    4.2覆蓋分析

    4.2.1需求覆蓋

    需求覆蓋率是指經過測試的需求/功能和需求規格說明書中所有需求/功能的比值,通常情況下要達到100%的目標。

    4.2.2測試覆蓋

    需求/功能(或編號) 用例個數 執行總數 未執行 未/漏測分析和原因

    測試覆蓋率計算 執行數/用例總數 ×100%

    .3缺陷的統計與分析

    缺陷統計主要涉及到被測系統的質量,因此,這部分成為開發人員、質量人員重點關注的部分。

    4.3.1缺陷彙總

    被測系統 系統測試 迴歸測試 總計

    合計

    按嚴重程度

    嚴重 一般 微小

    按缺陷型別

    使用者介面 一致性 功能 演算法 介面 文件 使用者介面 其他

    按功能分佈

    功能一 功能二 功能三 功能四 功能五 功能六 功能七

    最好給出缺陷的餅狀圖和柱狀圖以便直觀檢視。俗話說一圖勝千言,圖示能夠使閱讀者迅速獲得資訊,尤其是各層面管理人員沒有時間去逐項閱讀文章。

    4.3.2缺陷分析

    本部分對上述缺陷和其他收集資料進行綜合分析

    缺陷綜合分析

    缺陷發現效率 = 缺陷總數/執行測試用時

    可到具體人員得出平均指標

    用例質量 = 缺陷總數/測試用例總數 ×100%

    缺陷密度 = 缺陷總數/功能點總數

    缺陷密度可以得出系統各功能或各需求的缺陷分佈情況,開發人員可以在此分析基礎上得出那部分功能/需求缺陷最多,從而在今後開發注意避免並注意在實施時予與關注,測試經驗表明,測試缺陷越多的部分,其隱藏的缺陷也越多。

    4.3.3殘留缺陷與未解決問題

    殘留缺陷

    評價:對這些問題的看法,也就是這些問題如果發出去了會造成什麼樣的影響

    5、測試結論與建議

    5.1 測試結論

    1. 測試執行是否充分(可以增加對安全性、可靠性、可維護性和功能性描述)

    2. 對測試風險的控制措施和成效

    3. 測試目標是否完成

    4. 測試是否透過

    5. 是否可以進入下一階段專案目標

    5.2 建議

    1.對系統存在問題的說明,描述測試所揭露的軟體缺陷和不足,以及可能給軟體實施和執行帶來的影響

    2.可能存在的潛在缺陷和後續工作

    3.對缺陷修改和產品設計的建議

    4.對過程改進方面的建議

    6、附錄

    · 缺陷列表

    · 缺陷等級定義標準

    · 測試透過標準

    八、測試策略

    策略,百度解釋為:“策略”就是為了實現某一個目標,首先預先根據可能出現的問題制定的若干對應的方案,並且,在實現目標的過程中,根據形勢的發展和變化來制定出新的方案,或者根據形勢的發展和變化來選擇相應的方案,最終實現目標。

    軟體測試的目標是驗證軟體的功能,找出存在的問題,評估軟體質量是否達到要求。軟體測試策略要圍繞這麼目標去考慮和制定。測試策略描述了測試專案和測試任務之間的關係。它用來說明要測什麼,如何測,如何協調測試資源和測試時間等。他的目的和作用是指導測試工程師進行測試工作的總體方向和側重點。測試策略制定的是否合理高效會對測試專案的進度產生很大的影響。

    測試策略分為了一下幾個模組:

    1. 測試安排、釋出計劃

    這個模組用來羅列測試專案本身重要的里程碑,每個里程碑都需要有明確的結束時間,這個時間可以指導我們後續的測試。如果測試時間安排不足,我們就可以在後續的測試範圍中挑選優先順序比較高的特性來執行測試,這樣可以最大限度的保證產品的質量。

    2. 測試範圍(按優先順序排列)

    這一部分分為In Scope和Out Of Scope.這一部分需要說明哪些產品模組是在測試範圍中的,哪些是本階段測試不考慮的。對於在測試範圍中的模組,需要給出優先順序以便相應測試時間不足的情況;對於不在測試範圍中的模組,需要給出原因(為什麼在本測試階段不考慮測)。

    3. 測試資源

    測試資源在測試策略中也是很重要的一環,它分為人力和工具兩部分。人力資源主要說明參與測試的人員,當然可以包括很多的角色,如何專業測試人員,客戶,產品經理等。工具主要是指可能用到其他軟體(可能需要license)。

    4. 測試環境

    測試環境主要包括推薦環境解決方案,作業系統要求,軟硬體要求。

    5. 測試方法

    測試方法的羅列主要是為了說明針對測試專案我們要開展哪些型別的測試,功能測試是必須的,非功能測試是可選的。測試方法的選擇主要根據軟體的所要達到的質量特性來決定。軟體的6大質量特性為:功能性、可靠性、易用性、效率性、易用性、可維護性、可移植性

    6. 用例設計方法

    用例設計普遍的方法為等價類劃分、邊界值、因果圖、判定表、場景之類。我想說的是,要提高用例的有效性和對驗證點的覆蓋度,設計用例時需要以軟體所要具備的27個質量子特性為出發點功能性(適合性、正確性、互操作性、安全保密性、功能依從性);可靠性(成熟性、容錯性、易恢復性、可靠性依從性);易用性(易操作性、易理解性、易學習性、吸引性、易用性依從性);效率性(時間特性、資源特性、效率性依從性);可維護性(易分析性、易修改性、穩定性、易測試性、可維護性依從性);可移植性(適應性、易安裝性、易替換性、共存性、可移植性依從性)

    7. 文件管理

    對於一個完整的產品來說,文件是很重要的一環。它一般包括安裝、升級文件,使用者指南等。文件不單單是一個檔案,它需要經過完整的測試才能釋出給客戶。差的文件很可能會誤導使用者,從而使他們對測試專案失去信心(雖然客戶很少看文件……:))

    8. 風險管理

    風險管理模組需要羅列出來現在已知的可能會出現不確定性的因素,這些因素可能來自技術,資源或者其他方面的。

    9. 釋出包驗證

    這部分有一定的特殊性,並不適用於所有的產品。這部分主要是對測試專案安裝包進行驗證。

    九、測試方案(沒搞清楚和測試策略的區別)

    十、測試計劃(沒搞清楚和測試策略的區別)

    十一、作業系統命令、資料庫命令

    對於資料庫,很多人說我是測試,我只關心業務,我為啥要懂資料庫的操作。其實業務的本質就是操作資料庫中的儲存的資料。資料是開展業務的基礎,很多情況下,我們不能只關注頁面的顯示變化,而是要到資料庫中檢視資料是不是符合業務結果的預期。所以測試人員最起碼要掌握sql server、mysql、Oracle這幾種主流資料的增刪改查操作命令。一般面試也就問這幾種

    十二、UI自動化

    現在自動化測試已經成為測試人員提高薪資的一個必要技能,這裡推薦幾個我知道的UI自動化的方案:web頁面的自動化Python+selenuim;移動端的自動化(ios+android)Python+appium。其他的方案還有很多,介於我沒接觸過也沒了解過,所有就不瞎說了。要做UI自動化,還需要了解的知識有html、css、javascript。

    十三、介面測試(手工+自動化)

    同樣的,提高薪資的技能包,這裡我用過兩個方案,一個是手動做介面測試,推薦postman,適用於對數量比較少的介面去做測試,比如整合其他系統時的技術驗證。多介面的批跑測試我接觸到的是ant+jmeter工具,jmeter可以批跑介面,在每個請求里加上檢查點。ant是Java的一種檔案打包整合工具,可以控制呼叫jmeter,生產html格式的結果報告,方便檢視結果

    十四、效能測試

    同樣的,提高薪資的技能包。效能測試是透過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各項效能指標進行測試。負載測試和壓力測試都屬於效能測試,兩者可以結合進行。透過負載測試,確定在各種工作負載下系統的效能,目標是測試當負載逐漸增加時,系統各項效能指標的變化情況。壓力測試是透過確定一個系統的瓶頸或者不能接受的效能點,來獲得系統能提供的最大服務級別的測試。

    在實際工作中我們經常會對兩種型別軟體進行測試:bs和cs,這兩方面的效能指標一般需要哪些內容呢?

    Bs結構程式一般會關注的通用指標如下(簡):

    Web伺服器指標指標:

    * Avg Rps: 平均每秒鐘響應次數=總請求時間 / 秒數;

    * Avg time to last byte per terstion (mstes):平均每秒業務指令碼的迭代次數,有人會把這兩者混淆;

    * Successful Rounds:成功的請求;

    * Failed Rounds :失敗的請求;

    * Attempted Connections :嘗試連結數;

    CS結構程式,由於一般軟體後臺通常為資料庫,所以我們更注重資料庫的測試指標:

    * User 0 Connections :使用者連線數,也就是資料庫的連線數量;

    * Number of deadlocks:資料庫死鎖;

    * Buffer Cache hit :資料庫Cache的命中情況

    效能測試我主要接觸過兩個工具 loadrunner、jmeter。jmeter比較適合公司自己內部做一個性能評估,他是免費的,輕量型的,安裝和使用都很方便,就是在報表和結果分析上沒有那麼完善和漂亮。loadrunner,大名鼎鼎,很多對外提供的資料報告都是隻認可loadrunner,能生成完善的資料分析和漂亮的報表。

    十五、團隊管理

    具備團隊管理能力,意味著你不止能自己獨立工作,你還可以帶領、指導其他人一起完成工作,是一個升職的必備能力。

    團隊管理即是組建和管理一個測試團隊,制定和落實一個有效的測試流程,計劃、設計、執行並跟蹤輸出專案的測試報告,為專案質量提供有效保障。

    測試團隊的管理劃分為6個部分:人員管理、流程管理、團隊管理、質量管理、風險管理、資源管理。

    人員管理:

    人員招聘

    確定招聘需求和招聘要求,為團隊招募合適的人才。

    剛剛走出校園的實習生,和社招的資深測試工程師的能力和經驗自然是不一樣的,所以對於社招和應屆生的招聘要求需要分開。

    通常我在面試社招時,更多關注的是社招同學的專案經驗,以及過往所承擔的職責,自動化工具能力,軟性素質上更看重協調能力和推動能力。

    而在實習生的面試時,不會過多去關注實習生的專案經驗,更多關注的是實習生的學習能力和主觀能動性,如果能有一些對軟體測試崗位的基礎知識學習和理解,那麼是很加分的。

    人員培養

    制定學習目標和計劃,因人而異施教,安排專業的導師,及時跟進新人學習進度並解疑。使招聘的人才在最短的時間內快速適應專案的流程,勝任專案的任務。

    對於新入職的人而言,一個類似於這樣的明確的工作任務和目標非常重要。

    人員管理

    1、職能明確:各崗位職能職責區分清楚,避免團隊成員之間職能混亂,出現工作交叉干預、重複勞動的現象,也避免出現踢皮球的場景。

    有的測試團隊會按照測試技術、測試設計、測試執行的組織結構來管理,這樣每個團隊都術有專攻,管理上也會更容易

    有的測試團隊會按照個人全方位能力培養,要求個人同時具備測試技術、測試設計和測試執行的能力,這樣對每個人的長遠發展更有利,但是會因為每個人的能力參差不齊,導致團隊的成員能力不均衡,個人優勢不夠突出

    2、知人善任:依據各人的特質、能力層級、優勢劣勢進行任務分配,給團隊成員充分展示優點的機會,避其缺點,合適的人做合適的事情。

    比如有的測試人員擅長測試設計,有的測試人員擅長挖掘工具自動化搭建,有的測試人員溝通協調能力比較強,根據每個人的意願和長處來安排任務。

    3、善於傾聽:尊重團隊裡的每個人,確保成員能夠無所顧忌地表達個人觀點,並能夠及時覺察成員情緒上的波動,換位思考,及時建立疏通、宣洩的渠道,做好正面引導。

    4、敢於授權:在明確的目標要求下,適當的放手,讓團隊成員有能力與權力去承擔並對結果負責,但是在過程中,管理者也需要隨時去抽查,以便及時發現落實過程中的偏差或者問題

    5、激發潛能:不畏懼新人犯第一次錯誤,因為錯誤中的總結,才能令人印象更深刻,後續不再犯。而不斷的嘗試新事物,才能夠挖掘團隊成員的潛力。

    6、等級淡化:成為團隊成員的朋友,在成員迷茫時能給出合適的建議,在困難時伸出援手,必要的時候需要言傳身教,做成員的堅實後盾。

    這些主要講的是向下管理,另外還有向上管理,如何處理自己與上級之間的關係,如何向上級述職,更好的展現自己和團隊的工作成績,也是管理的一門學問。

    測試團隊管理

    團隊建設

    1、共同目標:

    可以是時間、專案等,團隊成員有著共同的目標,才能提高整個團隊的凝聚力和鬥志,從而取得1+1大於2的效果。

    2、團隊規劃:

    制定半年、一年,短期和長期的規劃,讓團隊成員瞭解公司的遠景,讓大家對團隊、個人的發展有信心。

    3、樹立標杆:

    一個團隊中各個成員都是不同的個體,素質和能力頗有差異,樹立標杆,推廣優秀成員的成績和經驗,才能提升團隊的能力,使團隊能力最大化。

    4、獎懲激勵:

    團隊成立階段,多獎勵,少懲治。及時的給予鼓勵和獎勵,會讓團隊成員的被尊重、被信任、被認同感提高,工作動力和積極性提高。但是,團隊成長成熟階段,要多規範,建立多種合理的制度來管理與約束。獎勵是激揚人性,懲治是壓抑個性。二者結合起來,合適的應用。

    5、績效管理:

    有一套公開、公正的績效激勵體系。結合每個成員的自身特點和能力制定,制定合理的績效。

    團隊潛能

    透過團隊活動、團隊培訓等方式,培養協作精神和團隊精神,提升團隊整體的能力,創造一種良好的氛圍,提高團隊的凝聚力。

    加強測試團隊在整個專案中的地位和影響力,影響力越強,團隊成員的成就感會更強,工作的動力和信心會更大,更積極正能量的心態面對工作。

    團隊提升

    透過各種各樣的途徑,培訓分享,共享資源庫,或者是團隊圖書館也好,提升團隊整理硬性軟效能力。

    流程管理

    流程建立

    大到專案研發流程和職責分工,小到測試缺陷跟蹤流程、案例評審流程,都有一個從無到有制定和完善的階段。

    流程實施

    推動流程的落實

    流程最佳化

    流程的落實過程中,不斷的總結經驗,及時調整和完善流程。

    質量管理

    測試質量的保證,是測試團隊的職責所需,也是首要標準。

    質量指標

    前期要確定一些專案中質量的指標,比如交付時間要求、BUG修復率的要求、用例透過率的要求等等。

    質量管控

    再透過不同的手段來管控,從而實現和達成目標。

    在達成的過程中需要研發、產品、測試、專案經理等多個角色的共同推動規範專案研發流程、程式碼管理流程、缺陷管理流程、測試案例評審流程等等。

    並且做好測試分層,從程式碼級、介面級和ui級別進行測試,從工具自動化和手工多層面進行考慮,從功能、效能、相容安全性等多緯度進行覆蓋。從某些方面來講,流程的管理,是質量管理的前提。

    質量分析

    透過對質量的視覺化資料分析,從而加強管控機制,改善測試流程,豐富質量指標。

    資源管理

    資源整合

    整合測試相關的技術、文件、工具、專利等,成為測試團隊的知識資產;整合測試內部、外部的人力、物力、財力,成為測試團隊的能量儲備。並且對存檔的資源進行維護和更新。

    資源共享

    建立統一的共享平臺,將測試資源共享,管理測試用例、管理缺陷、管理測試方法、測試技術工具,減少團隊成員的重複勞動。

    資源協調

    協調測試組內的各種資源,協調組外的各種資源,共同達成目標。

    在人力的協調上,一方面需要和團隊內、團隊外的人員建立良好的關係,取得他們的支援,另一方面,建立跨部門的利益相關性,成為利益共同體。

    風險管理

    透過對風險的識別和分析,選擇有效的方式,主動地、有計劃地處理風險,以最小成本獲得最大的保證。

    風險識別

    專案執行的各個環節可能出現的風險都應關注,風險資訊收集時需要注重全面性和多樣性。

    l 比如需求上存在的缺失,開發實現上可能存在的漏洞,測試案例上可能存在的遺漏,都是專案中常見的風險。

    l 常見資訊收集手段如現場訪談、會議研討、問卷調查等。

    風險評估

    通常可以用可能性、嚴重性,結合可控性、相關性幾個指標來描述風險。

    比如當判斷一個不能固定重現的BUG到底是否重要需要在上線前修復時,可以參考如下風險評測標準:

    這個BUG發生的機率有多高?

    這個BUG對使用者的體驗和使用影響有多大?

    這個BUG如果在生產上出現了,怎樣可以解決和減少影響?

    這個BUG可能引發其他的問題嗎?

    風險應對

    採取各種措施減小風險事件發生的可能性,或者把可能的損失控制在一定的範圍內,以避免在風險事件發生時帶來的難以承擔的損失。

    風險應對和控制的四種基本方法是:迴避、控制、轉移和自留。

    比如新增加了一個功能是展示列表,根據我對專案組產品和開發的瞭解,他們經常會忘記頁面為空白時怎麼顯示。而這一次我相信如果不提前提出來他們仍會出現這個問題。那麼我可以採取如下幾種措施:

    我知道可能出現這種風險,但是不打算提出來,也不打算搭理他。準備直接帶著這個問題上線。——這是迴避。

    我把風險提出來,然後宣告,這個問題一旦出現,需要開發承擔責任。——這是轉移。

    我默默的認為這個風險影響不大,僅保留給自己知悉。後續等問題暴露出來,再去處理——這是自留。

    我把這個可能出現的問題提出來,讓產品完善需求,開發提前處理。避擴音測後這個bug的出現。——這是控制。

    以上所有就是我認為一個測試人員應該具備的知識體系。其實還有好多我沒接觸過的,比如滲透測試、單元測試、安全測試之類的。接觸的越多,越能感覺到自己會的太少,共勉。

  • 3 # 小綿羊吖

    軟體測試主要做效能測試,功能測試,介面測試,自動化測試等等;像優就業的軟體測試由淺入深,循序漸進,課程一共包括四個階段,分別為功能測試、基於Python的自動化測試:Selenium和Appium、介面測試:Jmeter、效能測試:Loadrunner。

    四個階段主要學從計算機基礎、軟體測試核心理論、階段考試(筆試)、"企業級環境配置實踐(Linux作業系統+MySQL+Oracle)"、功能測試專案實戰、Python程式設計技術、自動化測試入門、Web自動化測試:Selenium、Web自動化測試專案實戰、移動自動化測試:Appium、移動自動化測試專案實戰、介面測試綜合核心理論、Jmeter、介面測試專案實戰、網路安全測試、效能測試核心理論、Loadrunner、效能測試專案實戰等方面展開學習。

  • 4 # 水母星人

    根據中華英才網相關資料顯示,軟體測試缺口在30萬人以上,人才缺口大,就業競爭小,供不應求,而且行業前景好,大資料、雲計算、人工智慧等最終都需要測試,所以軟體測試工程師起步薪資高,初級一般起薪都在6到8千。

      當然除了薪資高,軟體測試工程還有不同於其他程式設計師,就是職業壽命長,無性別歧視,男生女生都可勝任,這些都是越來越多人學習軟體測試的原因。

    綜上所述,軟體測試工程師還是比較好找工作的,如果考慮往這方面發展,可以選擇培訓班儘早開始進行學習!

  • 5 # 淺笑嫣然93917

    據瞭解,有功能測試,效能測試,介面測試,自動化測試,入門對於我們這樣零基礎的好像很難,有計算機或者軟體基礎還行,我準備找個培訓班呢

  • 6 # 慧樂課堂

    搞定這10點你就可以找到10K左右的工作了,如果具備高階輔助技能可以照著15K以上去面了。

    1、測試用例

    測試用例是測試的根本,良好的測試用例,對測試起到的作用不言而喻。所以對於一個有一定基礎的測試新人,應首先學習如何編寫合理、有效的測試用例,同時,高效的執行測試用例,也是可以思考的問題。

    2、測試方法

    測試的方法有很多種,每種方法如何使用,使用的技巧,應做為一個重點去學習,畢竟快速、儘量多的發現BUG,是測試人員工作中重要的一個環節。

    3、測試工具

    自動化測試工具、測試管理工具、配置管理工具、其它測試輔助工具的使用,有一定的瞭解,能使用它提高測試工作的效率。

    4、業務知識(需求理解)

    能快速瞭解被測程式的業務知識及功能使用。對被測試物件有一個全面而正確的理解是做好測試工作的前提。即測試人員要知道它的業務流程、功能使用等。

    5、文件撰寫

    文件在測試流程中有著舉足輕重的地位,測試人員經常見到的,如:用例設計、缺陷報告、測試方案、測試計劃等。所以,要成為一名優秀的測試人員或向上有一個好的發展,除了技術因素,良好的文件及文字處理能力也是不可或缺的。

    6、作業系統使用與維護

    熟悉當前最流行的作業系統,包括MS的Windows系列、Linux系列。比如現在使用比較多的是MS的Windows xp。熟知起碼的操作和快捷鍵使用,熟練常用工具安裝解除安裝。

    7、熟練使用Word 、Excel,文字輸入

    編寫測試用例、測試報告(BUG單)、軟體使用手冊是測試工程師必不可少的工作,因此word、Excel常用功能使用必須要熟練,如常用的插入圖片、表格繪製等。快速的文字輸入,也是體現工作效率的一個方面。

    8、能處理日常工作中經常出現的計算機問題。除了會使用計算機,學會如何修理他,如何更好的使用它也是很重要的功課。

    9、溝通技巧

    學會和團隊內部人員的溝通,學會如何與程式設計師打交道。溝通是人學習和進步的一個捷徑。做為一個新人也許會有很多地方不足,如技術上的缺陷,公司業務的不瞭解,良好的溝通可以儘快的彌補不足。

    10、學習能力

    主動、自覺、積極是必須的,他人教授的知識往往太有限,不能等到知識要用的時候才去學,要在平常的學習中積累。現在的技術日新月異,不會很正常,學習即可,須知人皆由學習從無知者變成智者。

    高階輔助技能:

    1、資料庫技能

    a、測試工作涉及到大量的測試資料,可以利用資料庫生成。

    b、檢查被測試程式對資料的處理是否正確

    2、程式語言、程式設計思想

    a、理解程式語言對於功能的實現原理,有助於更高質量的完成測試

    b、在測試過程中發現問題後,可以根據語言的特點猜測問題出現的原因,及解決的辦法。

    c、可以編寫測試小工具,提高測試的效率。

    3、常用演算法

    對想於接觸白盒測試或效能測試的測試人員,這個顯得很重要。

    3、網路知識(對於C/S專案重要)

    a、對於基本的網路知識,有一定的瞭解,如:網路的Http協議……

    b、對於網路方面的問題,利用網路相關的工具,對被測物件出現的問題進行分析。

    4、建模語言

    a、對測試模組進行建模(流程圖、活動圖),有助於瞭解程式的內部處理流程。

  • 7 # 傳智教育官方賬號

    眾所周知,軟體測試是IT技術崗位中技術入門門檻最低的,因此許多計算機零基礎的小白會選擇測試行業。雖然,大家都說測試很簡單,但是對於完全沒有基礎的初學者來講,想要學好測試也並不簡單。下面我們就來看看,零基礎小白怎麼自學軟體測試。

    1、瞭解測試行業,規劃職業發展道路。

    零基礎的小白在想要投身於測試行業之前,一定要對軟體測試行業有一個大致的瞭解,比如測試崗位的就業需求怎麼樣?發展前景怎麼樣?未來發展趨勢又是什麼樣的?這樣才能在剛開始學習的時候,就樹立一個明確的職業發展目標和路線,學起來更有驅動力,有更加有方向感。如果大家還不太瞭解測試行業的情況,推薦大家看一下傳智播客的軟體測試學習路線圖

    2、拆解學習目標,制定學習計劃。

    當我們正式開始測試的學習之後,一定要制定一個科學合理的學習計劃。比如今天學有關資料庫的知識點,具體學什麼呢?然後把資料庫要學習的知識羅列出來,而不是稀裡糊塗的想到哪學到哪。這樣制定好學習計劃,除了讓自己在學習過程中,對知識點有更系統全面的把握外,還可以督促自己的學習進度。因此,無論是不是零基礎的學習者,都最好根據自己的學習能力和實際情況,制定適合自己學習進度的計劃表。

    3、多讀相關書籍,打牢理論知識。

    在當下這個浮躁的社會,可能很多人認為沒必要看書學習了。但其實自己看書理解和直接接受別人給你的知識,理解深刻程度是不一樣的。尤其對於零基礎的學習者,更應該多泛讀軟體測試的書,這樣對軟體測試的基礎理論知識,才能有一個大致的瞭解。這裡給大家推薦一本適合零基礎小白學習的書——《軟體測試》 。該書可以作為軟體測試入門的教材,書裡循序漸進闡述軟體測試基礎理論的同時,更注重軟體測試的實用性。而且配套資源豐富,免費提供教學PPT、大綱、教學設計、題庫、影片等資源。

    3、多做實戰專案的連習。

    軟體測試是實戰性很強的學習科目。大家在瞭解了一些基礎知識後,儘量對上手練習專案。比如面對一個專案的時候。首先,對需求進行全面深入地分析,接著去分析評審程式設計,假定每個需求的功能點開發人員的實現都是存在問題的;同時,也假定每一個程式設計的編碼實現(無論是方式還是程式碼寫作)都是存在問題的,然後,根據這些假定設計測試用例,最後執行這些測試用例,驗證程式不存在那些問題。

    關於零基礎小白自學軟體測試的方法就暫時說到這裡。如果大家完全沒有一點計算機知識基礎,比起自學還是更加推薦參加培訓班,既省時又省力,最快四個月就能學出來就業。

  • 8 # 20200921文

    軟體測試基礎學習需要掌握哪些內容?首先,要有寬泛的計算機基礎知識。微機原理,資料結構,資料庫,作業系統原理,編譯原理,邏輯,程式語言,網路,等等,都要系統地學習過。都精通不大可能,因為人的興趣都不相同,但是這些功課的基本知識點是應當瞭解的。

    我們在談到職業的類別的時候,我們可以說C程式設計師,C#程式設計師,Java程式設計師,而沒有C測試員,C#測試員,Java測試員,程式設計師可以只擅長某一門程式語言,測試員卻不行。為什麼呢?

    測試員是代表使用者的,在做測試的時候,他(她)需要考慮到方方面面的事情。例如對於一個用C寫的上網撥號程式,測試員需要考慮:

    (1) 程式的功能是否正確;(要求計算機知識)

    (2) 是否符合使用者的使用習慣;(要求介面設計知識和換位思考能力)

    (3) 效能是否滿足要求,例如長時間使用;穩定性;(要求深入的計算機知識)

    (4) 是否能夠滿足使用者可能的不同作業系統的要求;(要求計算機知識)

    (5) 如果在全球釋出,是否滿足不同語言和文化的需求;(要求軟體國際化測試知識)

    (6) 如何搭建測試環境;(動手能力,硬體知識)

    (7) 做程式碼檢查;(比較深入的C語言知識)

  • 中秋節和大豐收的關聯?
  • 清朝從1840年到1912年這期間有多少次機會可以翻盤成為強國?