1、問:所做項目的情況,主要做什么類型的測試?
大部分情況,這是一場面試的開門題,面試官問這個問題,主要是考察你的概述能力和全局視野。首先,仔細回顧自己做過的項目。然后挑選最有價值的部分,清楚項目的架構,思路從業務、項目環境、流程以及自己擔任的角色去回答。
業務:比如學掌門Atstudy是一個以在線直播、視頻錄播為主要業務的綜合性網站,分為管理員,教師,學生三個大模塊,同時可以支持web和手機端使用。
項目環境:該系統搭建在Linux服務器上,使用mysql數據庫,采用PHP后端語言。
流程:學掌門Atstudy當前版本是多少,項目組有多少開發和測試,然后說軟件測試的流程。
自己擔任的角色:負責哪些模塊的什么測試。
ps:自己負責的模塊需要詳細展開,例如負責該模塊的接口測試還是集成后的功能測試,通過什么手段去測試的,是基于手工的還是有自動化輔助的;期間用到什么自動化工具,或者通過什么語言編寫自動化測試腳本等等技術類問題;另外在測試開展過程中是否遇到難點,這些難點你是通過什么方法去排查的;諸如此類能夠展示你技術能力的都可以在這個問題中有邏輯地表述清楚。
問解決方案
2、問:你在測試中發現了一個bug,但是開發經理認為這不是一個bug,你應該怎樣解決?
首先,將問題提交到缺陷管理庫里面進行備案。
然后,要獲取判斷的依據和標準:
1)根據需求說明書、產品說明、設計文檔等,確認實際結果是否與計劃有不一致的地方,提供缺陷是否確認的直接依據;
2)如果沒有文檔依據,可以根據類似軟件的一般特性來說明是否存在不一致的地方,來確認是否是缺陷;
3)根據用戶的一般使用習慣,來確認是否是缺陷;
4)與設計人員、開發人員和客戶代表等相關人員探討,確認是否是缺陷;
5)合理的論述,向測試經理說明自己的判斷的理由,注意客觀、嚴謹,不參雜個人情緒。
最后,等待測試經理做出最終決定,如果仍然存在爭議,可以通過公司政策所提供的渠道,向上級反映,并由上級做出決定。
問測試技能
3、問:給你一個網站,你如何測試?
首先,查找需求說明、網站設計等相關文檔,分析測試需求。
制定測試計劃,確定測試范圍和測試策略,一般包括以下幾個部分:功能性測試;界面測試;性能測試;數據庫測試;安全性測試;兼容性測試
設計測試用例:
①功能性測試
可以包括,但不限于以下幾個方面:
鏈接測試。鏈接是否正確跳轉,是否存在空頁面和無效頁面,是否有不正確的出錯信息返回。
提交功能的測試。
多媒體元素是否可以正確加載和顯示。
多語言支持是否能夠正確顯示選擇的語言等。
②界面測試
可以包括但不限于以下幾個方面:
頁面是否風格統一,美觀
頁面布局是否合理,重點內容和熱點內容是否突出
控件是否正常使用
對于必須但未安裝的控件,是否提供自動下載并安裝的功能
文字檢查
③性能測試
一般從以下3個方面考慮:
壓力測試;負載測試;穩定性測試
④數據庫測試
要具體決定是否需要開展。數據庫一般需要考慮連接性,對數據的存取操作,數據內容的驗證等方面。
⑤安全性測試
基本的登錄功能的檢查
是否存在溢出錯誤,導致系統崩潰或者權限泄露
相關開發語言的常見安全性問題檢查,例如SQL注入等
如果需要高級的安全性測試,確定獲得專業安全公司的幫助,外包測試,或者獲取支持
⑥兼容性測試
根據需求說明的內容,確定支持的平臺組合:
瀏覽器的兼容性;
操作系統的兼容性;
軟件平臺的兼容性;
數據庫的兼容性
開展測試,并記錄缺陷。合理的安排調整測試進度,提前獲取測試所需的資源,建立管理體系(例如,需求變更、風險、配置、測試文檔、缺陷報告、人力資源等內容)。
定期評審,對測試進行評估和總結,調整測試的內容。
問數據庫
4、問:熟悉數據庫嗎?平時數據庫用的多嗎?
熟悉數據庫嗎?
比較熟,比如DML語句有增刪改查:(有序思維說出來)
1 insert into 表名 values(值1,值2,值3,...)
2 delete from 表名 where 條件
3 update 表名 set 列名 = 新值
4 select * from 表名
查詢語句最長的是 select * from 表名 where 條件 group by 分組列名 having 分組后的條件 order by 列名。
平時數據庫用的多嗎?(大概測試過程的1/4時間在查數據庫)
還行,一般出現問題,遇到BUG未必都要去數據庫查詢。
可以舉例:
例如,在需要驗證前后端數據是否及時同步更新,及數據完整性的時候,有必要進入后臺數據庫查看對應數據表中的數據情況。再比如,對于大批量的測試數據構造,也需要通過insert語句批量構造測試數據。
另外,(比如淘寶支付時,輸入支付密碼后,已經返回了支付成功的提示信息,然而界面上的訂單查詢還是待付款,這個時候就要去查詢訂單表的數據,找到自己剛才做的交易的那一筆訂單,去分析一下錯誤,如果確認是BUG的話,可以直接在BUG系統中提交給開發)
問Linux
5、問:linux查看文件用什么命令,查看進程用什么命令?
回答:查看文件內容的命令有 more less head tail cat
查看進程:ps -ef | grep 進程號
查看日志文件常用:less、view
問常用命令
6、問:查看日志常用什么命令,主要查看什么內容?
1)查看日志常用less命令或者view命令。
2)主要查看程序運行的記錄,比如支付失敗,后臺就有報錯信息打印到.log日志文件中,就可以通過分析日志信息來初步定為問題。(補充:同時也去查詢數據庫,分析訂單數據,查看支付狀態等等)
PS:日志就是.log的文本文件,和.txt一樣屬于文本文件。vi或者vim編輯器屬于記事本軟件,一般不會用來查看日志。
問用例設計
7、問:軟件測試用例設計/測試用例的內容/管理工具?
參考:以場景(故事)為驅動的測試設計,并且針對測試數據的選擇上面通常結合等價類劃分,因果圖,邊界值,錯誤推測。
測試用例的內容:標題、測試環境、測試輸入數據、測試步驟、期望結果、測試結果、測試時間、測試人員
管理工具:禪道、QC
問測試興趣
8、你對測試最大的興趣在哪里?為什么?
回答這個面試題,沒有固定統一的答案,但可能是許多企業都會問到的。提供以下答案參考:
最大的興趣,感覺這是一個有挑戰性的工作;
測試是一個經驗行業,工作越久越能感覺到做好測試的難度和樂趣,
通過自己的工作,能使軟件產品越來越完善,從中體會到樂趣。
回答此類問題注意以下幾個方面:
1)盡可能的切合招聘企業的技術路線來表達你的興趣,例如該企業是數據庫應用的企業,那么表示你的興趣在數據庫的測試,并且希望通過測試提升自己的數據庫掌握能力。
2)表明你做測試的目的是為了提升能力,也是為了更好的做好測試;提升能力不是為了以后轉開發或其他的,除非用人企業有這樣的安排。
3)不要過多的表達你的興趣在招聘企業的范疇之外。比如招聘企業是做財務軟件的,可是你表現出來的是對游戲軟件的興趣;或招聘是做JAVA開發的,而你的興趣是在C類語言程序的開發。
問職業發展
9、你的測試職業發展是什么?
測試經驗越多,測試能力越高。所以我的職業發展是需要時間累積的,一步步向著高級測試工程師奔去。而且我也有初步的職業規劃,前3年累積測試經驗,按如何做好測試工程師的點要求自己,不斷的更新自己改正自己,做好測試任務。