【面試高頻】給你一句話需求,讓你設計測試用例,該怎麼做?

這個需求很簡單,怎麼實現我不管,明天上線...

一句話、或者簡單描述的需求,需要你設計測試用例,我相信大家或多或少都見到過吧?

我想起上一次面試某廠,面試官也出了個這種題。我覺得這種需求作爲面試題出現還是可以接受的,如果作爲真正的生產需求,我不知道提需求的人會不會被打?

今天就不聊生產場景下的,就以面試題的角度,梳理總結一下應對這種題目的套路。

參考題目

借用一個網上看到的題目,支付場景下的:

微信支持餘額支付時,不足的部分可以信用卡補充一起支付,但針對使用餘額支付的部分給予 3% 的優惠(直接用於本次支付中)

考察點

看到題目,內心是不是一萬隻草泥馬奔過?好想直接打回需求,但是這畢竟是在面試,首先我們要知道面試官的考察點在哪裏。

我覺得最重要的是這 2 點:

  • 考察遇到這種不合理需求時的處理方式
  • 考察測試基本功,設計測試時候是否足夠發散

解題套路

1. 處理方式

拿到這種需求,內心肯定是拒絕的,我覺得可以向面試官詢問一些更多的需求信息,比如應用場景等來讓你有更多的瞭解。

當然了,就算面試官繼續補充了點信息給你,肯定還是不夠的。

那麼我覺得可以說:這個需求不夠明確,有不少的信息還需要補充,通常我們一般是打回處理的。

但是到這裏還沒結束。畢竟是在面試,你肯定還是要設計測試用例的。

我會繼續說:不過基於當前的信息,我來說一下我考慮到的點,相關疑問點之後也會提給產品,讓其確認。

到了 show 基本功的時候了。

2. 設計用例

設計用例是我們測試人的基本能力,也是最重要的能力。需要我們可以足夠發散,既能跳進去扣細節,也可以跳出去考慮上下文。

因爲題目沒有給出上下文,所以我們可以把想到的問題也羅列出來,作爲待確認即可。

剩下的就可以站在多維度:功能、性能、安全、易用、兼容等角度,運用:場景法、等價類、邊界值等手段來進行設計了。

參考:

* 適用微信版本?(海外版\國內版\Android\IOS)
* 適用的微信支付方式?(掃碼\被掃)
* 是否有存在支付優惠?(紅包\直減)
* 支付狀態不同,對應的後端處理、和前端交互提示?(超時支付、不支付、支付但金額不足、支付超額)
* 支持的貨幣有哪些?
* 支付同時的臨時動作(首次開通微信支付、支付時開通免密、支付時查看消息後再支付等等),
* 不進行判定的方式、餘額精度?比如需要餘額大於 1 元?
* 支持的信用卡種類
* 信用卡額度限制
* 測試 3% 優惠的精度
* 信用卡扣費失敗,第三方的異常返回碼處理
* 優惠支付後是否可退可改?
* 優惠有沒有使用次數限制?
* 是否優惠只針對定向用戶?
* 交易是否可追溯、可覈查
* 高併發場景,性能測試
* 調用請求是否有 鑑權判斷。用戶敏感信息是否是密文
* 是否有風控能力、能識別異常支付、非法支付、危險支付
... ...

其實還有很多的地方需要考慮,但是面試時候只要表現出你的發散能力足夠就可以了。

反思

最後,對話題進行一些延伸。

很多人喜歡自嘲自己是“點工”,沒什麼技術含量。確實,我覺得對於“點”來說,技術含量確實不大,重要的還是測試思維。

但是仔細思考一下,其實點點點也並不是那麼容易的。

點點點是測試過程中的一項重要手段,但是想要做好絕對不是無腦的點,一定是有計劃、有思路、有條理的點。

而且,隨着當下環境對測試人的要求越來越高,測試人不能只侷限於點點點表象。在你點的過程中,很多問題值得去深入研究一下:

  • 測試的功能背後的邏輯是怎麼實現的?
  • 開發爲什麼要這麼寫?
  • 對於這種場景一般的實現方式時哪些?
  • 背後涉及到的中間件特點是什麼?使用場景都哪些?
  • 這種場景的測試是否有可以提煉出來的方法論?
  • 如何更高效的做好這類的測試
    ... ...

現在圈子裏對於測試開發趨之若鶩,搞得業務測試就該被鄙視一樣。

其實我覺得做業務測試沒關係,怕的是自己把自己侷限在業務裏,縱向、橫向的思考一下?是不是還有很多要學習的呢?

把羅列出的知識都學一下,你肯定不是現在的你了。

共勉一下!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章