軟體測試的核心價值是什麼

2021-05-24 10:02:23 字數 2764 閱讀 9880

既然是「核心價值」,就應該能用一句話說清楚。關於軟體測試的核心價值是什麼,各種觀點爭論了很久,似乎很難得出乙個明確的結論。這裡有個很重要的原因,就是我們都深陷在測試工作的細節裡面,沒辦法看清自己的位置和價值。不識廬山真面目,只緣身在此山中。

要想搞清楚這個問題,我們必須走出圍城來進行分析,如果把軟體測試看成一種服務,那麼從客戶的視角來評判,最合適不過了。下面講一件真實的事情。

有一次我回家跟老友一起吃飯,聊起最近的工作。老友的單位是一家大企業,幾個月前委託一家軟體開發公司,開發了一套很大的企業管理軟體。現在軟體已經開發完成,進入了驗收階段。現在問題來了,負責驗收軟體的是信管部,部門老大非常擔心軟體的質量,希望能在驗收簽字前,把軟體的嚴重質量問題都找出來,可是又不知道該從哪下手,如果能有乙個權威的軟體評測機構,對軟體進行專業的測試,就最好了。

「你們**的軟體測試,應該做的很專業吧,能不能幫我們來測試一下這個軟體?你們接這種業務麼?」老友提出這個問題。

雖然**測試現在還沒有這種外接服務,不過這是乙個難得的,饒有趣味的話題。

「那你想要我們來測試哪些東西呢?哪些地方最擔心?」

「主要是效能吧,如果全公司人一起來用,不知道會不會出問題。還有就是資料的安全方面,公司的重要資料一定要絕對安全,不能被挖走。」

「那軟體的功能呢,功能需不需要我們來測一下?」

「功能就不用了,我讓我們部門的人來點點就行了。」

聽到這話我有點覺得不爽,不過想想倒也沒必要跟老友去爭辯這個問題,其實這確實是很多人對軟體測試的看法。後來這個話題被岔開,沒有繼續談下去了。

所以下面的談話並沒有真實發生,是我用推理的方式,把討論繼續了下去,非常有趣。

「功能測試並不是隨便點點這麼簡單,**的測試非常專業的,因為我們…」

大家注意,精彩的地方到了,當我說出乙個原因,並且能讓老友信服,那就說明,這就是軟體測試的核心價值了。

「…我們的工程師對需求理解得很透徹,對業務很精通。」

「我們部門的人對需求也很清楚的,因為他們就是最終的使用者。」在平時的專案裡我們也發現,無論需求分析做得多細緻,軟體交付以後,使用者總能提出很多問題和改進意見,這是正常的,大可不必因此責怪測試工程師,因為沒有人比使用者更了解需求。最重要的是,不要讓使用者發現既嚴重又初級的bug。

「…我們編寫的測試用例、文件非常專業非常完整,能夠保證測試的質量。」

「很好啊,你們很專業,不過這是你們內部的工作方式,我不是很關注的。」這裡並不是否定測試文件的作用,只不過測試文件是測試團隊的過程產物,無法直接給使用者帶來價值。

「…我們對軟體的架構設計非常了解,可以提前發現軟體設計中的重要缺陷,避免返工。」

「嗯,這個非常好,不過現在他們已經開發完了,要是在他們編碼之前,請你們來對設計方案把把關,就好了。」使用者非常希望能控制軟體開發的全過程,而軟體設計是最重要的里程碑,設計是否合格,直接影響後面的工作。

「…我們能看懂**,找出**裡的問題,不僅如此,我們還能修復bug。」

「好是好,不過**量那麼多,你們需要多少人來做啊?至於修復bug,還是讓他們自己改吧,不然我花那麼多錢請他們幹嗎?」

「…我們現在用的最好的測試管理工具,還有最好的自動化測試工具,可以把測試完全自動化。」

「挺好,不過我還是擔心需要的資源太多,自動化測試是挺好,你說說具體好在**呢?如果比手工測試成本低,就行。」同樣的,使用者對我們用什麼方式測試並不特別關注,成本才是關鍵。

「…我們的工程師工作效率很高,測試速度非常快,比你們部門的人要快50%。」

「厲害!不過我們這裡的薪水都比較低的,你們都是高薪it,人月成本這麼高,如果測的結果差不多,還是我自己找人來做吧。」

「…我們的工程師都是專業人員,你的人只能發現一些表面的bug,而我們能找出隱藏很深,並且很嚴重的bug,這些bug提早發現,能減少很多損失。」

「有道理,其實我也擔心他們這樣點點,有些深層次問題發現不了,要是上線一段時間以後,大家才發現,那改都來不及了。」

好了,這段虛擬的對話就到此為止,下面我們來做一些分析。先看一下最開始提到的效能測試和安全測試,這兩個測試型別有一定的技術壁壘,因此效能和安全的bug,不是每個人隨便就能發現的。另外虛擬對話中提到,發現軟體設計方案中的問題,也非常有難度。而功能測試的門檻相對較低,即使沒受過訓練,一般人也能發現一些初級的bug,這讓很多人產生乙個錯覺:「一般人」都能做功能測試。

要證明這個錯覺不成立,其實也挺容易,那就是看測試人員所發現的bug,與「一般人」有哪些不同。如果找不到明顯的不同,那錯覺就變成了現實,如果測試人員沒發現的bug,讓一般人或者使用者發現,那就更杯具了。由此我們推理出測試的核心價值:

能發現一般人發現不了的bug!

這句話看起來非常簡單樸實,但是包含了很多因素。目前**測試團隊所設定的金bug大獎(gold bug award),就是為了鼓勵測試工程師體現這一核心價值。

有的測試工程師,由於專案時間太緊,開發匆忙趕出的**質量又不合格,所以大部分時間都糾纏在初級的bug裡面,根本沒時間、沒精力去關注深層次bug,雖然做的很辛苦,也做了很多專案,但是成長很慢,原因就在這裡。

要解決這個問題,測試工程師一方面要加強對開發技術的學習,了解軟體程式的內部結構,為發現深層bug創造必要條件;另一方面,要想辦法推動開發提高**質量,讓自己從初級bug裡解脫出來,為自己贏得更多的時間,來尋找深層bug,並且總結發現bug的技巧和經驗。

到這裡我們對測試核心價值的討論可以告一段落了,軟體測試要體現核心價值,自說自話是沒有意義的,只有把測試作為一種服務提供給客戶,讓客戶來評判,測試才能發展得更好。現在**測試團隊也專門成立了taas團隊(testing as a service),在測試服務化上進一步探索。這篇文章送給**測試團隊,也特別送給文朗,與你討論總有很多收穫。

觀點 軟體測試的核心價值是什麼?

既然是 核心價值 就應該能用一句話說清楚。關於軟體測試的核心價值是什麼,各種觀點爭論了很久,似乎很難得出乙個明確的結論。這裡有個很重要的原因,就是我們都深陷在測試工作的細節裡面,沒辦法看清自己的位置和價值。不識廬山真面目,只緣身在此山中。要想搞清楚這個問題,我們必須走出圍城來進行分析,如果把軟體測試...

測試的核心價值和能力是什麼?

最近發生的幾件事情讓我開始思考這個問題 測試的核心價值和能力是什麼 故事1 前幾天幫別的專案組面試招人,候選者是一位擁有8年測試經驗的資深人士,簡歷很漂亮。但交流了一會,我就發現了乙個問題,他熟悉的業務和他現在申請的職位的業務相差甚遠,但是他除了對業務非常熟悉之外,幾乎沒有任何思考和總結,對測試,甚...

你的核心價值是什麼

在我們的意識之外,還有著遼闊的區域 還有著無窮的經驗,宛如無形之豎琴,琴聲綿綿 只有當人們遠離了思維之羈絆,工具之枷鎖 驚嘆,思索,並努力,落紫紛紛,飄盪在風中,慢慢地綻放自己的絢爛 核心價值 開啟那扇門 什麼是價值觀?它代表了我們獨特的個性本質,是我們表達和陳述思想的最佳和最終形式 價值觀代表了現...