测试真相 | 软件测试真的只是“点,点,点......”吗?
1 先看一個故事
《阿猿和小張的故事》
一天,阿猿問:“小張,你那xxx測試完了沒?”
小張:“差不多了,就剩一點了。”
阿猿:“差不多是多少?一點又是多少?”
小張:“不好評估,這個得先冒煙一下,然后得自動化測試鞏固下,性能還不知道怎么測?”
阿猿:“有這么難嗎?不就是點幾下嗎?你再點點看看!”
小張:“難道你認為點點點就可以了嗎?”
阿猿:“不然勒!!”
2 感悟
感覺這兩個有點氣氛不和,有點“火藥味”,哈哈哈,言歸正傳,大聲說出來:
軟件測試真的只是“點,點,點…”嗎?
是!
也不是!
3 有幾個問題
回答上邊的問題,我們先了解幾個問題:
- 軟件測試有哪些分類?
- 測試手法和策略是什么?
- 測試要寫代碼嗎?
3.1 軟件測試分類
詳情直達:軟件測試分類
簡單說,軟件測試可以按如下來分:
那我們先做第一個回答:測試不是點,點,點,要看做什么樣的測試…
①不同的分類測試工作內容不一樣,可能“點點點”不能解決問題;
②就自動化測試:比如接口自動化測試,做的好一點的,不得寫框架、寫自動化測試腳本;
③就安裝測試:有的安裝測試,可以進行腳本化、批處理進行安裝,比如安裝卸載10萬次,光靠“點”可能不太現實;
④就安全測試:這個光靠“點”真的搞不定,需要強大的知識儲備外,還得掌握各種安全測試手法和工具;
④就白盒測試:這個不多說了,要了解內部的業務邏輯外,還要設計大量的腳本和代碼去驗證;
等等等。。。。。。
也許這張圖很實際,也很現實:
3.2 測試手段
功能:起碼得會一些測試用例設計方法,以及管理工具
性能測試:性能測試工具、性能調優等等
安全性測試:常用得漏洞掃描、分析等等
自動化測試:工具、編程語言、腳本、框架等等
那我們做第二個回答:測試不是點,點,點,要看你用什么來測,你具備怎樣得能力…
3.3 測試要寫代碼?
答案是肯定的,也是絕對的。
如果你還在做“點點點”測試,說明項目可能暫時不需要寫代碼;
如果你還在做“點點點”測試,說明你能力可能還沒達到寫代碼的需求;
為啥要寫代碼?
- 首先現在所有的測開崗位,基本都是強制要求,如果你不具備編程能力,可能真的不適合做測開;
- 跳槽的時候裝逼可以用,這個你懂的;
- 做專項測試,這個是必備技能。
。。。。。。
那我們做第三個回答:測試不是點,點,點,測試有時候和開發一樣,同樣要要具備編程能力……
4 再鞏固下
鞏固啥?再說下,如果你還認為“測試只是點點點”,那么請完成以下一個簡單的問題測試:
題目:請測試一個網頁的登錄功能?
回答一(這個大概50%回答都是這樣):
- 正確的用戶名、密碼;
- 錯誤的用戶名、密碼;
- 不輸入用戶名、密碼;
- 特殊字符驗證;
回答二(30%回答是這樣的):
- 考慮下性能方面的問題;
- 多用戶登錄;
- 高并發;
回答三(15%回答是這樣的):
- 考慮下下兼容性問題;
- 不同的瀏覽器,不同版本情況。
回答四(不到5%回答是這樣):
【功能測試用例】
- 輸入已注冊的用戶名和正確的密碼,驗證是否登錄成功;
- 輸入已注冊的用戶名和不正確的密碼,驗證是否登錄失敗,并且提示信息正確;
- 輸入未注冊的用戶名和任意密碼,驗證是否登錄失敗,并且提示信息正確;
- 用戶名和密碼兩者都為空,驗證是否登錄失敗,并且提示信息正確;
- 用戶名和密碼兩者之一為空,驗證是否登錄失敗,并且提示信息正確;
- 如果登錄功能啟用了驗證碼功能,在用戶名和密碼正確的前提下,輸入正確的驗證碼,驗證是否登錄成功;
- 如果登錄功能啟用了驗證碼功能,在用戶名和密碼正確的前提下,輸入錯誤的證碼,驗證是否登錄失敗,并且提示信息正確;
【更多功能測試用例】
- 用戶名和密碼是否區分大小寫?
- 頁面上的密碼框是否加密顯示?
- 后臺系統創建的用戶第一次登陸成功時,是否提示修改密碼?
- 忘記用戶名和忘記密碼的功能是否可用?
- 前端頁面是否根據設計要求限制用戶名和密碼長度?
- 如果登陸功能需要驗證碼,單擊驗證碼圖片是否可以更換驗證碼?更換后的驗證碼是否可用?
- 刷新頁面是否會刷新驗證碼?
- 如果驗證碼具有時效性,需要分別驗證時效內和時效外驗證碼的有效性。
- 如果用戶登錄成功但是會話超時,繼續操作是否會重定向到用戶登錄界面?
- 不同級別的用戶(如管理員用戶和普通用戶)登錄系統后的權限是否正確?
- 頁面默認焦點是否定位在用戶名的輸入框中?
- Tab和Enter等鍵是否可以正常使用?
【安全性測試用例】
- 驗證存儲在后臺的用戶密碼是否加密;
- 驗證用戶密碼在網絡傳輸過程中是否加密;
- 驗證密碼是否具有有效期,以及到期后是否提示用戶需要修改密碼;
- 不登錄的情況下,在瀏覽器地址欄中直接輸入登錄后的URL,驗證是否會重定向到用戶登錄界面;
- 驗證密碼輸入框不支持復制和粘貼;
- 驗證密碼輸入框輸入的密碼是否都可以在頁面源碼模式下查看;
- 在用戶名和密碼的輸入框中分別輸入典型的“SQL注入攻擊”字符串,驗證系統返回的頁面;
- 用戶名和密碼的輸入框中分別輸入典型的“跨站腳本攻擊”字符串,驗證系統的行為是否被篡改;
- 連續多次登錄失敗的情況下,驗證系統是否會阻止后續的登錄以應對暴力破解密碼;
- 同一用戶在用一終端的多種瀏覽器上登錄,驗證登錄功能的互斥性是否符合設計預期;
- 同一用戶先后在多臺終端的瀏覽器上登錄,驗證登錄是否具有互斥性。
【性能壓力測試用例】
- 驗證單用戶登錄的響應時間是否短于3s;
- 驗證單用戶登錄時,后臺請求數量是否過多;
- 驗證高并發場景下用戶登錄的響應時間是否短于5s;
- 驗證高并發場景下服務器端的監控指標是否符合預期;
- 驗證高集合點并發場景下,是否存在資源死鎖和不合理的資源等待;
- 同一時間大量用戶連續登錄和登出,驗證服務器端是否存在內存泄露。
【兼容性測試用例】
- 不同瀏覽器下,驗證登錄頁面的顯示以及功能正確性;
- 相同瀏覽器的不同版本下,驗證登錄頁面的顯示以及功能正確性;
- 不同移動設備終端的不同瀏覽器下,驗證登錄頁面的顯示以及功能正確性;
- 不同分辨率的界面下,驗證登錄頁面的顯示以及功能正確性。
詳情直達:一個簡單的登錄功能,你真的會測試嗎?
好了今天先分享這么多,如果再遇到有人說:測試不就是點點點嗎?你是不是學到了妙招呢?
【分享、共勉、共進、提升】更多、更全、更新的軟件測試領域知識,請關注:
總結
以上是生活随笔為你收集整理的测试真相 | 软件测试真的只是“点,点,点......”吗?的全部內容,希望文章能夠幫你解決所遇到的問題。