常州網(wǎng)架公司安康seo
軟件測試的目的到底是什么一直是困擾開發(fā)人員和測試人員的一個問題,
項目管理人員希望測試能夠保證軟件項目的成功
開發(fā)人員希望希望測試可以讓他們理直氣壯的說,他們的軟件是沒有問題的,從而證明他們的工作成果
軟件測試經(jīng)典理論說,測試無法證明軟件是沒有問題,而只能證明軟件是有錯誤的.
軟件測試的經(jīng)典理論又說好的測試用例是能發(fā)現(xiàn)那些問題的測試用例,
于是問題產(chǎn)生了,測試到底是做什么的?
其實這個問題并不難解決,只要你從一個更高的角度去看待這個問題.
項目管理中有一個很重要的領域就是風險管理,而測試是防范和解決技術風險一個重要手段。
這樣可以很好解決測試在軟件開發(fā)中的地位和作用問題。
首先來說風險(技術風險)。軟件是一個科技含量比較高的行業(yè),由于新技術比較多,所以技術風險自然會比較大,如何防范這些風險帶來的危害是我們要格外注意的一個問題
風險的危害 = 風險發(fā)生的概率 * 風險造成的危害。
作為測試工作就是通過降低風險發(fā)生的概率和以及風險造成的危害來保證項目的順利實施的。
先說降低風險發(fā)生的概率,在功能測試中就是測試的覆蓋率,盡量提高測試強度在盡可能多的覆蓋所有的功能點,
比如冒煙測試、合法數(shù)據(jù)測試、非法數(shù)據(jù)的測試,就是逐步增強測試強度,來發(fā)現(xiàn)問題,
再說降低風險造成的危害,從純技術角度來說,軟件測試發(fā)現(xiàn)的問題,其危害程度是不一樣的,比如死機問題,應該是最嚴重的問題了,其次是功能無法實現(xiàn),發(fā)現(xiàn)這些問題的價值往往是很大的。這些問題往往會產(chǎn)生嚴重的問題,如果及時發(fā)現(xiàn)這些問題,可以讓開發(fā)人員及時進行修改,防止系統(tǒng)的這些問題給項目的開發(fā)帶來嚴重的問題。
在這里要說幾個個人的一些體會。
1測試人員不能通過測試工作給項目帶來直接的好處,說簡單一點就是測試不能測試出來好的產(chǎn)品,但通過對測試中發(fā)現(xiàn)問題的修改可以讓產(chǎn)品的質(zhì)量上一個高臺階,
2測試人員不能要能善于發(fā)現(xiàn)問題,更要善于和開發(fā)人員交流,讓他們認識到發(fā)現(xiàn)的問題,并對這些問題進行修改,從而通過開發(fā)人員實現(xiàn)自己的價值
3測試人員需要通過自己測試技術的提高,采用更科學的測試方法,和工具,增強測試強度,告訴項目經(jīng)理,我們的產(chǎn)品經(jīng)過測試,發(fā)生問題的概率比原來降低了好幾個數(shù)量級,發(fā)生問題概率降低了,從另外一個方面講就是產(chǎn)品的可靠性增強了,這正式上級領導獎勵測試部門的目的
4什么樣的測試用例是好好測試用例,如果是發(fā)現(xiàn)從未發(fā)現(xiàn)過的測試用例才是好的測試用例,那么在回歸測試的,如果所有測試用例都通過了,這些測試用例都是壞的測試用例嗎?這顯然說不過去,在我看來,評判一個測試用例好壞應該有兩個標準,一個是是否發(fā)現(xiàn)問題的概率比較高的測試用例才是好的測試用例,另外一個便于開發(fā)人員確定問題的測試用例才是好的測試用例,這里說的比較復雜,舉幾個例子吧。
如果說發(fā)現(xiàn)了未發(fā)現(xiàn)的bug的測試是好的測試,這個東西如何實施就無法確定,沒有測試誰知道哪個哪個測試用例可能發(fā)現(xiàn)問題,所以測試人員根本無法實施測試工作的改進,但如果說發(fā)現(xiàn)問題可能性比較大的,就比較好實施了,比如劃分等價類,邊界值等方法都是經(jīng)過長期總結出來的發(fā)現(xiàn)問題可能性比較大的方法,
另外,測試的目的,是修改問題,在軟件開發(fā)過程中,如果要修改問題,首先要定位,其次判斷問題發(fā)生的條件,如果你的測試用例(一般來說是幾個或者幾十個),可以讓開發(fā)人員發(fā)現(xiàn)問題發(fā)生的規(guī)律,那么他們可以方便的發(fā)現(xiàn)問題發(fā)生的規(guī)律,對開發(fā)人的定位工作會起到很大的幫助做用,這樣的測試用例對提高產(chǎn)品質(zhì)量的作用是很大的。
Python接口自動化測試零基礎入門到精通(2023最新版)