關於測試你不得不知的面試問題

2021-10-07 12:40:33 字數 3640 閱讀 3396

答:測試是無處不在的,撇開軟體,從生活來看比如買回來乙個東西,會去檢查質量問題,考試交卷前會檢查等其實這都是在測試,目的就是為了發現錯誤,避免影響應用體驗。回到程式中,測試是產品上線的最後一道把關,如果測試工作做得到位,就能避免很多的問題,像復工後釘釘系統短崩、12306高峰期買票老進不去,這其實就是效能做的不夠好,測試人員在效能測試時也沒測出來它的飽和值,所以說,測試在軟體中是非常必要的,可以找出軟體中存在的問題。

答:在平時的不斷積累中,我掌握了測試的基本理論,編寫測試用例的方法、常用的測試模型、測試工具的簡單使用,比如loadrunner、selenium、禪道等,還有一些簡單的測試框架

興趣很重要啊,這個參考一名優秀的測試人員應該具備哪些技能,主要從性格、能力、逆向思維、耐性等方面展開來講

測試和研發:兩者在工作職責、難易程度、技能要求等方面都有所不同。測試主要職責是找出程式中存在的問題,相對開發來說廣度大專業度低,技能要求更廣泛,像測試手段以及測試工具使用**走讀、業務和架構分析以及使用者需求方面都要有所掌握。研發的主要職責是實現產品的功能,相對測試來說廣度低專業度高,專業技能要求也更高。工作環境基本類似、在敏捷開發下,兩者的壓力也差不多。

測試和測開:功能性測試主要是手工的去執行寫好的測試用例,驗證實際輸出和預期結果是否一致。而測試開發是把手工要做的活編寫成自動化測試指令碼,代替手工測試的這個過程。

答:總的來講,程式沒有實現使用者的合理需求時就說明有bug。規格說明書時,一般產品都會有規格說明書,在規格說明書合理且正確的情況下,這時要是程式和規格說明書不符就是bug;

一條bug記錄最基本應該包含bug編號、bug所屬模組和版本、bug的優先順序、具體的問題描述還有預期行為的描述、bug的級別、還有它的發現日期以及誰發現的、修改日期怎麼修改的誰修改的,以及回歸結果等,有多個bug同時存在時應該條理化,必要時可以有錯誤截圖和日誌,幫助開發人員清晰的定位bug;

新發現乙個bug提交到平台還沒指派給開發時它的狀態是new,分派給開發以後狀態就變成了open。 如果開發直接認為這個bug不需要修改,就變成了rejected,要是開發覺得可以延遲修改,就是dalayed。要是直接修改的話,修改完就是fixed,測試回歸通過以後就是closed,不通過在reopen。

答:開發認為這不是bug,可能是需求不明確,我和開發產生了歧義,可以找產品經理確認一下需求,然後再決定要不要修改。也有可能是我把bug描述不清,這個時候我會像開發解釋我確定它是bug的依據是什麼,站在使用者的角度去評判看會不會影響使用體驗,如果開發依然認為這不是bug,可以發起bug評審,像專案評審同行評審和使用者評審。同時也要提公升自己的業務能力,盡可能的附上bug相對應的解決方案。

像字型大小顯示、有不明顯色差、

答:首先看bug的等級,如果是影響使用的功能性bug,必須得辛苦開發人員及時修改,如果是不影響功能的建議性的bug,時間允許的話盡量完善後在上線,要是時間不允許,可以先上線,因為現在產品迭代更新比較快,可以再下一次的版本中進行修復。

研發的生命週期首先是對問題進行定義規劃,討論產品可行性,在進行需求分析,根據需求分析的結果對整個系統進行軟體設計,比如資料庫設計框架設計,設計完成以後就可以開始進行程式編碼了,然後進行軟體測試發現bug並加以糾正,最後進行長期的執行維護,主要包括糾錯性維護和改進型維護。

測試的生命週期(我覺得流程也是這,不知道認識有偏差沒):先進行需求分析得出測試需求,測試計畫階段根據需求編寫測試計畫,測試設計主要搭建測試用例框架編寫具體的測試用例,測試執行階段就是拿自己寫的測試用例去執行,最後是測試評估編寫具體的測試報告。

答:自動化測試包括功能自動化、效能自動化、安全自動化。我們平常說的指功能自動化,就是把手工測試用例轉化成指令碼實現,主要是為了把人從重複的活動中解放出來,主要用於回歸測試,出錯率低。而非自動化測試就是手工去測試,執行效率慢,量大的時候容易出錯,兩者不可相互替代,他們是相輔相成的。

答:應包括測試背景、測試範圍、測試環境、測試方法、測試結果說明還有質量或風險評估。

黑盒測試就是功能性測試,比較簡單,不關心程式的內部實現,從使用者角度很容易理解,只看輸出結果和預期的是否一致,它的主要測試方法有等價類邊界值、因果圖、錯誤推測,它的優點是執行起來比較快,不關心內部細節,缺點是很多程式路徑都沒有被測試到,這就會存在隱藏問題,測試用例不清晰的話,測試很難執行。

白盒測試是結構性測試,需要去關注程式的源**和它的內部邏輯結構,主要測試方法包括**檢查、程式編譯、路徑覆蓋、邏輯覆蓋、迴圈覆蓋、靜態結構分析等,它能仔細考慮軟體的實現,對**的測試比較徹底,能揭示隱藏在**中的錯誤,因為測試基於**,只能知道開發人員實現的對不對,而不能得知設計是否正確,系統龐大時測試成本機會很高。

答:主要包括白盒測試(邏輯覆蓋、迴圈覆蓋、基本路徑覆蓋)和黑盒測試(等價類、邊界值、錯誤推測法、因果圖法、場景法、狀態圖、隨機測試)

答:系統在一定效能下平穩執行72小時,在bug提交平台裡不存在一般級別以上的bug,普通bug數量不超過3個,bug的修復率在90%以上,專案經理和測試經理簽字通過了這個版本。

答:測試用例的要素包括測試編號、模組名稱、編寫人和編寫日期、操作說明、輸入資料以及預期結果。好的測試用例是乙個完備的集體,能夠完全覆蓋測試要求、等價類的劃分也要準確。

答:敏捷開發是當下很流行的一種開發模式,主要特點是周期短迭代快,scrum是當下比較常用的一種方式,它主要包括三個角色,product owner是產品經理,負責整理和講解use story(使用者故事),制定這一期迭代要完成的任務,scrum master是專案經理,負責召開各種會議,成員在會議裡回答任務進度和所遇到的問題,team是研發團隊,由不同技能的成員組成,共同完成每一次迭代。

常開的會議包括四個,迭代計畫會議主要是討論這一期迭代應該完成哪些目標、每日例會主要是團隊成員回答任務進度還有今天要完成什麼、演示會議就是迭代完成後相關人員演示迭代的成果、回顧會議是對本期迭代進行總結並制定改進計畫。

開發模型有瀑布模型、螺旋模型、增量迭代、敏捷開發;瀑布模型是線性進行的,適用於需求穩定或者公司已有類似產品的專案,它強調開發的階段性,缺點是不能適應後期需求的多變性,發現缺陷也比較晚造成修復成本太高;螺旋模型是乙個漸進式模型,它適合規模龐大、複雜度高風險高的專案,強調每個開發階段的質量,因為它引入了非常嚴格的風險識別,這就需要大量人員和資金的投入,影響專案的進度;增量和迭代目的是減少專案風險;現在大部分公司都用的是敏捷開發模型,主要特點是周期短迭代快,scrum是當下比較常用的一種方式,它主要包括三個角色,product owner是產品經理,負責整理和講解use story(使用者故事),制定這一期迭代要完成的任務,scrum master是專案經理;

測試模型有四種,vwhx,常用的有v模型和w模型,v模型以編碼為分界點,明確的標註了測試過程中存在的不同測試型別,開發階段和測試階段有明確的對應關係;但它僅僅把測試過程放在需求分析、系統設計之後的乙個階段,忽視了測試對需求的分析和驗證;w模型由兩個v模型組成,代表了開發和測試兩條線並行;測試的物件不僅僅是程式,需求設計同樣也要測試,有利於盡早全面的發現問題;但需求、設計、編碼等活動被視為是序列的,測試和開發活動也保持著一種線性的前後關係,上一階段完全解除,才可正式開始下一階段的工作不能夠很好的支援迭代的開發模型,,無法支援敏捷開發模式;

我認為乙個優秀的測試人員首先應該對測試有很濃厚的興趣,對待工作有很強的責任感和壓力感;思維方面應該不走尋常路,從逆向去發現問題;同時也應該具備一定的開發能力和文字功底,保證寫出來的測試用例清晰可行;也應有很好的溝通能力,和周圍的同時能很好地交流

我先點讚為敬,你們看著辦哈

關於大資料你不得不知的問題

選擇題1.1.下面哪個程式負責 hdfs 資料儲存。a namenode b jobtracker c datanode d secondarynamenode e tasktracker 答案 c datanode 1.2.hdfs 中的 block 預設儲存幾份?a 3 份 b 2 份 c 1 ...

軟體測試崗技術面試,那些你不得不知的

在某種程度上來說,技術面試重要到能夠決定你是否被聘用。在技術崗位方面,在個人品德沒有問題的前提下,招聘公司對技術是最關心的。我現在並不能給你分析具體的面試題,因為與筆試題相比,面試題千變萬化,不同的公司有不同的技術方向,即使是在乙個公司內,技術面試題也會因為專案 崗位 面試官的不同而不同。下面我說一...

你不得不知的生活常識。。。。

1,涼水洗腳有損健康.2,夏季多吃苦味有益健康.3,多喝水能防腎結石.4,夏季不宜光著上身睡覺.5,冬季養生宜多食熱粥.6,冬季洗澡次數不宜多.7,冬季不宜長期待在溫暖房間.8,不宜長時間停留在冬季霧氣中.9,冬天不宜把圍巾當口罩用.10,冬天早晨不宜洗頭.11,健身前熱身活動很重要.12,運動損傷...