關於讀書的感受:
這本書是一本關於軟件測試工程師面試指導的書,其實80%是介紹作爲一個測試工程師需要的基礎知識,以及工作中需要的一些知識技能;與其說是一本面試指導書,不如說是測試基礎知識詳解。而我讀完這本書後,列了一個讀書的大綱,整理了作者這本書的一個主要框架;由於作者主要做本地化測試方向,所以需要的部分知識會偏重於這方面,但是作爲測試崗位來說,所用的測試方法、測試流程、測試思想都是一樣的。
有些着重的地方,是一些我個人覺得比較重要的點,或者我自己欠缺的技能思想,都着重標識了;總之我總結的大綱都是這本書的大概知識框架,每個人讀書都會讀出來不一樣的東西,也會有自己的側重點,希望自己的這篇筆記大綱能給大家一些幫助。
一:入門要求
1.具備一些計算機專業知識
1.C語言:數據類型、運算符、數據、控制流、函數、指針、結構、頭文件
2.c++:面向對象、類和對象、構造函數、繼承、多態
3.操作系統:操作系統類型、進程、進程的同步和互斥、進程間的通信、線程、資源分配、內存 管理、磁盤分區、文件管理系統
4.數據結構:算法的時間複雜度和空間複雜度,線性表、棧、堆、隊列、樹的基本概念、二叉樹、圖的基本概念、排序
5.數據庫:關係型數據庫、表、索引、觸發器、存儲器、事物的提交和回滾、SQL語言、遊標、數據備份、數據導入導出、權限控制
6.軟件工程:軟件工程概念、開發模型、需求分析、軟件設計基本原理、程序流程圖、軟件測試的基本概念、單元測試、集成測試、功能測試和性能測試
7.網絡:網絡拓撲結構、osi參考模型、TCP/IP協議、以太網、常見網絡設備
2.具備的一些積極品質
1.積極:做好自己的工作、考慮公共區間、與同事分享經驗、多發言、多參加團隊活動
2.團隊合作能力:有意識的去關注項目進度和組內情況、願意共享經驗從別人那裏學習、從團隊出發,不過多計較、同時互助、虛心認同尊重他人、批評對事不對人、寬容對待新同事
3.耐心和細心
"""
關於入門的基本要求,我個人的理解的話。對於入門來說,個人的性格品質是更重要一些的,
個人的性格和測試這個崗位的契合,積極主動的推進項目很重要。至於計算機知識,我認爲
是測試工程師的進階所需要的儲備,而且初級測試工程師,沒有計算機知識也可以很好的
完成工作內容。
"""
二:如何找工作
1.簡歷的注意事項
1.個人信息要醒目
2.着重描寫工作經驗
3.描述對某技術/職業的理解
4.正式
5.對不同的職業和公司準備不同的簡歷
6.簡歷命名規範
2.筆試
1.題目類型:開發題、測試題、英語題(比較少)目前會有一些實踐題目
2.注意事項:字跡整潔、不交白卷、可以申請更換試題、留下姓名等
3.面試
1.誠懇、謙虛、淡定
2.工作經歷、技術面試、情景面試、人事面試
"""
關於這本書主要講面試,實際上面試部分的內容佔比並不多,所講的很好不過中規中矩,
我想作者把大部分篇幅用來講軟件測試基礎,應該也有其深層的用意在,告訴我們面試
中最重要的還是關於這個職業的相關知識技能。
"""
三:軟件測試基礎
1.測試思想
1.等價類劃分
2.邊界值劃分
3.因果圖和判定表
4.代碼覆蓋、條件覆蓋
2.測試用例
1.簡明扼要的標題
2.詳細的步驟
3.正確的預期結果
4.注意事項:含混不清、步驟書寫過於簡單、沒有寫預期結果、多個用例混合在一個用例裏等
3.提交bug
1.重現步驟
2.結果對比
3.級別定義
4.原因分析(如果可以分析出原因)
5.附圖
6.注意事項:必須要可以重現、避免重複提交
4.bug跟蹤:通過bug管理工具及時跟蹤處理
5.性能測試
1.響應速度
2.吞吐量
3.cpu佔用率
4.佔用內存數和內存佔用率
6.本地化測試
1.功能
2.界面
3.翻譯不全
4.翻譯出錯
7.測試的根本:正確理解需求定義
1.產品的需求說明書
2.產品需要遵守軟件規範
3.易用性的要求
8.測試要參與到整個研發過程
1.從需求調研、軟件設計、發佈後維護的階段,都需要測試來參與
9.如何考慮的更加全面
1.自己多思考
2.多評審,大家給出建議
3.多看同事的測試文檔,參考學習
4.多看書,看一下大咖的思路
5.多參加技術講座,提高見識和思路
10.做好版本控制
1.專門人員做版本build
2.新版本做BVT(冒煙測試),通過的話再做接下來的測試
3.確定好版本信息
11.如何做測試計劃
1.明確測試範圍
2.測試策略:白盒,黑盒的分工、手工和自動化的分工等
3.測試思路:具體功能點、指標
4.測試進度的安排
5.測試資源的安排:人員、設備、軟件
6.風險分析:容易遺漏的地方、測試的難點、時間風險等
12.應對測試任務分解後的風險(對於三不管地帶的測試隱患)
1.瞭解整個產品的細節,不要只瞭解自己的模塊
2.閱讀其他人的測試計劃和測試用例
3.多考慮用戶的實際使用場景
4.安排一些探索性測試
13.改進測試的方法(提高測試的效果)
1.整個項目小組評審測試計劃(開會前收集大家對測試計劃的意見和建議,開會時討論這些改進)
2.請開發人員來評審一些重要的用例,能降低一些bug的出現率
3.做Code Complete(類似於BVT)
4.做好BVT
5.定義用例的優先級
6.做性能測試:發現系統連接數、資源消耗、瓶頸
7.探險測試
8.保持改進,任何時候保持改進的餘地
14.更專業一些
1.少提交虛假bug
2.少提交重複bug
3.窮追不捨,推動、驅動、多次的交流驗證。在PM沒有考慮全面時需要測試來驅動開發
4.重視交流,與PM和dev
5.分析錯誤原因,節省開發時間,增長自己的經驗
6.發現問題後要重現一遍,不要急於提交
7.不要放棄不能重現的bug,做好記錄
8.bug描述清晰無歧義
9.圖片做好裁剪和標註
10.服從項目和商務策略
15.實例
1.功能測試
2.易用性測試
3.性能測試
4.UI測試
5.兼容性測試
"""
這裏的軟件測試基礎知識中,我覺得比較重要的點,用藍色標識着重標記了。實際上除了基礎知識外,
我覺得比較重要就是,我們測試人員的想法。也就是我們要怎麼保證產品交給我們測試後,上線後就是沒有
問題的,測試該怎樣從需求討論到產品上線中的每個環節發揮自己的作用。
需求階段:理解需求,並且確認需求具體細節,是否全面合理好用。
研發階段:可以和開發溝通交流,關於需求的內容以及實現。
測試階段:有了需求和研發階段的溝通,可以規避:需求不合理、需求不全面、邏輯場景缺失等問題;
在具體的測試階段,需要更全面的考慮多種情況,通過思考、評審等方面豐富測試場景;具體測試時
要針對模塊功能的交界部分多留意,而測試中需要我們做的最多的事情就是:追着開發改bug,追着產品
對需求,追着leader催進度。
"""