面試軟體測試工程師時,問你對這個桌子怎麼測試?

實用軟體測試的思維方法嘛


應該是考察應聘者對測試理論的理解

測試主要可以分為功能測試和非功能測試

功能測試

你應該問有沒有桌子的設計圖

你得按需求設計來測試

如果沒有(這是軟體研發最常見的問題)

那麼

桌子的一般需求大概應該是

起碼應該有個桌面

長寬高多少

外形、顏色、材質等等啥樣

你要知道這個桌子是做什麼用的

是餐桌還是課桌還是電腦桌

每種桌子會有其獨特的功能需求

這算是黑盒測試

白盒的功能測試

你可能需要拆了桌子看看連接處是不是可靠

材質是不是合格

等等

非功能測試

包括桌子的舒適度

桌子的顏色協調不

桌子的抗壓強度是否達標

扔外面風吹雨淋會有啥情況

等等

BTW 做為曾經的測試經理

我對這種面試問題是反感的


曾經面試時,我也被問過此類問題。這問題很常見,有問桌子板凳,有問電視冰箱,也有直接就問公司產品的,總的來說這類問題不難,前幾位的回答說的也很全面。我爭取能簡單的給一個對於此類問題的套路,思考的角度是當假如我問別人這樣的問題,是為了得到什麼。

首先,要做的第一部是回問,

「需求如何?」

這一問基本是固定程序。不排除一部分人問這個問題,只是為了拖延時間,為了抽空看看你的簡歷。這樣的回問,可以打斷面試官的節奏,讓面試官對他所問的這件東西也有一個思考。只有兩個人都思考了,你說的話才有價值。另外一部分人,是帶有目的性的問你這個問題。那麼,他們要問什麼?沒錯,方法論!那麼你的回問,就體現了你用例設計方法論的第一環,根據需求

第二,降低考官預期,

「用例設計是測試非常重要的一環,好的用例一般也是會進行多人評審或多次迭代才能得到,倉促間,我一個人的考慮肯定是有欠缺的,但為了能儘可能高的覆蓋產品的測試需求,我一般從以下幾個方面去考慮」

這一步也可以是固定的,首先肯定這問題的價值,然後擺明說這道題難,萬一細節上有所疏漏請見諒。其次可以體現出你對測試用例的理解,沒有任何一個老測試會輕視用例設計。最後一個但是,擺明了你的態度,「開山我有斧,遇水我搭橋」,以前不是白混的,我手裡有道道。

第三,論道,

「對於一個產品的測試,可以分為功能層面和非功能層面,(以下省略 @惑春秋 的一個答案)」

這一步,多說一點。如果你毫無章法,想到什麼說什麼,想了長寬沒想到高,那對不起,誰也救不了你。因為在面試官眼裡,你就是個猴子。這個時候最重要的,是你的「道」,要讓面試官看到你做事的方法。方法這個東西不細說,有很多文章可以教你,有了自己的方法論,加上第二步打下的基礎,即便是在某些方面有些遺留,相信面試官也不會對你過於嚴苛。提一點,這個是真本事

你覺得前面的答案答得好,為什麼,因為他靠用例指引著你的思路去認識了這個產品,你背下來了,但是下次不問桌子問冰箱,你是不是又蒙了。和跳槽很像,以前公司的產品你很熟,但是我公司的新產品你沒接觸過,你該如何接手呢?

所以我個人覺得,其實這個題,雖然很low,但是它的原意應該不是考察你對桌子的了解程度,用例的詳細程度。它想考察的,應該是你的方法。

------------------------------多說一點--------------------------

跳槽面試,對面試者難,對面試官也難。被面試的時候,會忐忑自己的回答,面試別人的時候,要斟酌自己的問題。其實面試,無非就是考察你能否勝任這份工作,面試官的問題,回答者的回答,都圍繞的這個原則進行。但是細想想,在這個行業(不了解大環境),每次跳槽所到的公司,在領域、行業、產品形態上,和可能都和上一家公司完全不同。那面試官如何考察你呢,直接問你公司的業務,你可能都不如公司前台了解。只有從你以前的工作經歷中,找到匹配和閃光點,了解你以前工作中做的事情,最最重要的,是想知道你能帶來什麼?除了技能,就是方法了。


作者:哇咔咔
鏈接:https://zhuanlan.zhihu.com/p/25294439
來源:知乎
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

在軟體測試這個行業也有些年頭了,從剛入行的時候的懵懵懂懂,到現在的略有小成,也算是對行業有了些自己的認識。

本著help each other and learn from each other的精神,在此分享一下自己多年來的一些心得,為初步入坑以及想要入坑的朋友們提供一些思路。

Here we go!

經常在測試行業的相關論壇上,看到過有朋友問,面試的時候會遇到這樣的問題,如何測試一個筆,如何測試一個杯子,如何測試一個頁面,上面有兩個輸入框及一個submit按鈕,諸如此類的問題,要求寫上30條左右的測試用例來覆蓋。針對這些問題,答覆還不少,洋洋洒洒50+的用例隨處可見。但是,在我看過的這些回答中,人們往往會漏掉一個核心問題,那就是需求到底是什麼?

諸如類似上面的問題,我們可以看到讓測試一個筆,一個杯子,一個頁面等等,你可以說這個是需求,但是這個需求完善么?你知道要測試的是鋼筆,毛筆,鉛筆,還是紙杯,玻璃杯或者保溫杯。在題目中統統沒有提到,那麼基於這樣一個模糊的需求,寫出來的測試用例,結果往往南轅北轍。

對於輸出一份覆蓋全面的用例來說,大體上可以分為兩個大階段。一個是需求分析,另一個是測試分析。如本次的標題一樣,先說說需求分析。
首先,什麼是需求?他可以是一個產品,可以是產品上的一個功能,可以是任何東西。在面對一個需求到來後,對於我們來說,第一個要搞清楚的事情就是,需求到底是什麼?

拿上面的例子來進行說明,比如說原始需求是讓你測試一個杯子,那麼你是不是先要搞明白,是個什麼樣子的杯子,紙杯,玻璃杯還是不鏽鋼杯子。不同的杯子,形狀不一樣,材料不一樣,等等這些差異性,就會決定你整個測試設計的大致方向是否正確。當你明白了這些基礎的東西,那麼你才能繼續下去。

現在,假設我們經過初步剖析後的需求是,測試一個紙杯子,圓柱體,不帶把,外表有圖案。至此,我們可以通過第一個岔路口,沿著正確的方向,繼續前行。

既然已經明白了具體的需求,那麼我們下一個碰到的岔路口,是需求的使用/應用場景是什麼?杯子可以用來當做盛放液體的器皿,也能用來放置固體的雜物,不同的使用方法,同樣還是會引領我們到不同的方向。所以當務之急,是要明確一下使用場景。

比如說,本次的杯子是用來當做飲用的器皿,偶爾還會用來放置物體。通過這些信息的了解,我們已經明確了杯子的使用場景,目前獲得了不少的信息,但是還是不夠的,需要我們繼續前行。

很快,來到了第三個岔路口,用戶的使用習慣或者說用戶會怎麼使用它。比如說這個杯子是不是一次性的,能不能加熱或者冷凍,客戶使用頻率怎麼樣,會不會盛放腐蝕性的物質等等。這些信息都會造成我們最終的測試重點的選取,會決定我們的用例覆蓋程度。

通過了第三個岔路口,那麼我們可以匯總一下當前獲取的信息,一個紙杯子,不帶把,圓柱體,外錶帶花紋,主要用來當做飲用的器皿,偶爾也會用來放置一下固態物體,不能用來盛放腐蝕性物質,可以多次反覆使用,但是不能長時間使用,換句話說就是我們當今使用的一次性紙杯。至此,初步的需求分析已經可以告一段落了。但是未來的路還很長,離我們的重點還很遠,加油吧,騷年,擦亮眼睛,拿起羅盤,向著勝利的遠方前進吧!

需求的分析,是一門技術,也是一門藝術,怎麼樣能夠快速準確的進行這項活動,有著不少的套路,有各種專業的路子,也有各種野路子。不管什麼路,適合自己的才是最好的,軟體測試本身就是一個與時俱進的行業,信息爆炸的時代,不少新的方法,心得概念層出不窮。及時學習總結,才不會讓自己落後,才能在這個行業生存下去。


樓上回答 的很全面啊。

這個題很典型的,大多數軟體測試的關於測試用例那部分對這個題都有描述。

給你一個杯子,你怎麼測試?

如果下次你還遇到這種題,你還是不知道怎麼回答,往需求上去套。

各種問他,你希望的那個東西是怎麼樣的?

一切以滿足需求為目的。


推薦閱讀:

對於零基礎想學習web前端和軟體測試那個更容易上手?
金融測試行業快速入門,具體應該怎麼做?
作為軟體測試人,所在公司部門只有功能手動測試,如何進一步提升自己?
面試軟體測試工作,如何回答:為什麼要從事軟體測試行業?你覺得你會什麼?

TAG:軟體測試工程師 |