• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      淺談軟件永遠(yuǎn)不完美的原因

      2019-10-21 22:00:05陳詩瑤張登翔
      科學(xué)與財富 2019年25期
      關(guān)鍵詞:軟件缺陷軟件測試軟件

      陳詩瑤 張登翔

      摘 要:軟件測試并不能保證軟件永遠(yuǎn)完美無瑕,可是如果沒有軟件測試人員,軟件出現(xiàn)的問題會更多。造成軟件不完美的原因很多,本文從多角度分析了軟件不完美的原因。

      關(guān)鍵詞:軟件;軟件測試;軟件缺陷;bug

      引言

      隨著科技的發(fā)展,為了提高用戶體驗(yàn),無論是手機(jī)還是電腦,系統(tǒng)經(jīng)常提醒我們需要進(jìn)行軟件更新,為什么軟件需要更新呢?軟件為何不能一次性做到最好,達(dá)到一勞永逸的效果呢?軟件測試人員都做了什么?

      完美是指完備美好,沒有缺陷。不完美即不是完備美好,有缺陷,對于軟件而言,就是bug。永遠(yuǎn),這是個時間限制期,將不完美在時間線上無限延長。也就是說,任何情況下,沒有哪一個軟件是完美的。

      一、軟件測試的流程

      軟件測試的目的是發(fā)現(xiàn)軟件的缺陷,驗(yàn)證軟件是否滿足用戶需求,并通過分析軟件錯誤產(chǎn)生的原因,以幫助發(fā)現(xiàn)當(dāng)前開發(fā)工作所采用的軟件過程的缺陷,以便進(jìn)行軟件過程改進(jìn)。軟件缺陷發(fā)現(xiàn)越早,成本越低。

      軟件測試的流程大體如下:

      (1)產(chǎn)品經(jīng)理提供產(chǎn)品需求文檔PRD(Product Requirements Document),測試人員進(jìn)行需求分析和文檔審查;(2)設(shè)計測試計劃,如對所需工時進(jìn)行計劃,并進(jìn)行同行評審;(3)測試人員進(jìn)行測試用例設(shè)計并進(jìn)行同行評審;(4)執(zhí)行測試,對測試場景的執(zhí)行;(5)測試人員發(fā)現(xiàn)問題,發(fā)現(xiàn)bug,測試和開發(fā)人員進(jìn)行處理;(6)問題處理完畢后,回歸測試,重復(fù)再次執(zhí)行前面的測試;(7)測試完成,編寫測試報告;(8)等待測試驗(yàn)收,驗(yàn)收通過,編寫測試報告,進(jìn)行測試總結(jié);(9)軟件符合要求,軟件上線,用戶使用。

      一個軟件的上線,要經(jīng)歷業(yè)務(wù)方、項(xiàng)目經(jīng)理、產(chǎn)品經(jīng)理、舌蕨設(shè)計師、軟件開發(fā)人員、軟件測試人員等,可是經(jīng)歷了如此多的流程和人員,為何用戶使用到的軟件永遠(yuǎn)不完美呢?

      二、軟件不完美的原因

      (一)軟件測試做不到完全測試

      完全測試軟件是不可能的,軟件的輸入量太大、輸出結(jié)果太多或者路徑組合場景太多,通過軟件測試不可能完全消除錯誤,無法做到對軟件進(jìn)行完全的測試。

      例如,測試一個計算器,無法做到將計算器每一個輸入和輸出都測試一遍。測試完1+1,1+2,……1+999999999999,2+1,2+2……2+999999999999,……,還有加減乘除、平方、根號、倒數(shù)、小數(shù)等,其輸入輸出量巨大。無論從哪個角度,測試人員都無法做到對計算器的每一個結(jié)果都進(jìn)行測試。所以,軟件測試是做不到完全測試的。

      (二)軟件測試總是會漏掉某些缺陷

      軟件測試人員不能對軟件進(jìn)行完全的測試,但不完全測試又會漏測軟件bug。

      測試人員對軟件測試的時間越久,發(fā)現(xiàn)的軟件缺陷越多,但是測試費(fèi)用也就越高,測試成本增大。相反,若測試人員對軟件測試的時間較短,測試費(fèi)用的確有所降低,但是發(fā)現(xiàn)的軟件缺陷數(shù)量越少,這樣的軟件上線,給用戶使用,就會暴露出很多問題。綜上所述,這本身就是一個矛盾體。而軟件需要上線,測試最后都會有終止時間,這就要求測試人員學(xué)會找到軟件測試的平衡點(diǎn)。其實(shí)軟件缺陷在漏掉的數(shù)量達(dá)到某一個點(diǎn)之后,就沒有明顯的變化了。測試人員就要找到軟件的最優(yōu)測試量——指測試不多不少,在有限的時間里,盡可能多的找出軟件缺陷,將巨大的缺陷減少到一個可以控制的范圍。測試人員需要針對風(fēng)險做出明智的選擇,對軟件的測試需要平衡好哪些測試是重要的,哪些測試是不重要,將風(fēng)險盡可能降低。如某些要求先保證軟件主流程正常進(jìn)行,再細(xì)看軟件細(xì)節(jié)是否爭取。

      (三)測試人員不能報告潛在的軟件缺陷

      當(dāng)測試人員對軟件進(jìn)行一段時間的測試后,即使這段時間很長很長,測試人員也不能完全確保該軟件就沒有軟件缺陷了。測試人員可以報告出軟件存在哪一個缺陷,卻不能匯報軟件缺陷沒有了。也就是,軟件測試人員可以說現(xiàn)存在幾個bug,卻不能說一定沒有bug了。

      (四)不是所有的軟件缺陷都需要修復(fù)

      不僅僅是找出軟件缺陷需要時間,修復(fù)軟件缺陷也是需要時間的,開發(fā)人員修復(fù)之后,測試人員還需要將軟件再次進(jìn)行回歸測試,即再一次驗(yàn)證,這需要時間去處理??墒乾F(xiàn)實(shí)生活中,軟件的開發(fā)測試周期有相應(yīng)的時間節(jié)點(diǎn),團(tuán)隊(duì)需要將軟件在規(guī)定的時間發(fā)布出去供用戶使用,在時間不是很充裕的情況下,會經(jīng)過多方面的協(xié)商與溝通,做出一定的取舍,可能就會出現(xiàn)帶軟件缺陷上線的情況,上線的軟件缺陷會留著下一次解決或優(yōu)化。

      (五)軟件測試人員的疲憊感導(dǎo)致軟件漏測

      測試人員對軟件進(jìn)行長時間的測試,會產(chǎn)生一定的疲勞,且生成定性思維,可能就會測試不出某些問題。此時,測試人員進(jìn)行適當(dāng)?shù)男菹⒄{(diào)整或更換另外人員進(jìn)行測試,這樣對于軟件的保障會更好。

      (六)社會科技進(jìn)步,導(dǎo)致軟件顯得不完美

      人類社會在不斷進(jìn)步,科技技術(shù)也在更新?lián)Q代,當(dāng)初各方面都比較完美的軟件,隨著時間的推移,早期的軟件已不能滿足人們的需求,這也就演變?yōu)檐浖娜毕輪栴}。軟件只有通過不斷的升級才能保持現(xiàn)在的完美。

      抑或是,開發(fā)軟件的過程中,軟件是可以跟上時代的潮流,可經(jīng)過一段時間,待軟件開發(fā)出來,已經(jīng)被時代拋棄,軟件不夠完美。

      (七)其他

      1.若使用自動化測試,自動化測試技術(shù)不夠完善,也不能完全測試軟件,就需要將測試程序進(jìn)行不斷的更新,不斷完善自動化程序。

      2.如果僅僅依賴黑盒測試,不能做到很好的測試。一個軟件的完美程度和團(tuán)隊(duì)人員的水平有一定的關(guān)系,好的團(tuán)隊(duì)開發(fā)出來的軟件也許會更完美。

      3.開發(fā)過程中,產(chǎn)品的需求文檔有時處于一直更新的狀態(tài),沒有固定不變的版本。造成軟件需要多次更改,致使最后的軟件不完美。

      4.測試人員的數(shù)量是有限的,軟件測試是有時間期限的,有限數(shù)量的軟件測試人員需要在有限的時間內(nèi)測試軟件,不能做到對軟件的完美測試。

      5.發(fā)現(xiàn)軟件缺陷越多,就說明該軟件的缺陷越多。發(fā)現(xiàn)一個bug,周圍可能就會出現(xiàn)一群bug,也許這一群bug都是由于某一個bug而導(dǎo)致的。

      6.某天開發(fā)人員心情不是很好,那他當(dāng)天開發(fā)出的軟件可能軟件質(zhì)量不是很好,缺陷就會稍微多一些。每個人的都有自己的習(xí)慣,一個人可能會經(jīng)常在某一個地方犯同樣的錯誤。

      7.每個用戶的習(xí)慣不同,A用戶認(rèn)為是缺陷,B用戶可能剛好認(rèn)為挺不錯。

      三、結(jié)束語

      軟件永遠(yuǎn)是不完美的,恰巧是軟件不完美,才需要進(jìn)行優(yōu)化,使其更加完美,我們也需要接受軟件的不完美。軟件開發(fā)人員應(yīng)該秉著嚴(yán)謹(jǐn)?shù)膽B(tài)度進(jìn)行軟件開發(fā),不能抱著測試人員在測試時會進(jìn)行兜底的心態(tài)。同樣,軟件測試人員是第一個使用軟件的人,應(yīng)該時刻站在用戶的角度來看軟件,提升軟件的滿意度。當(dāng)出現(xiàn)問題時,測試和開發(fā)人員都需要從自身的角度看問題,從中吸取經(jīng)驗(yàn),提高軟件的完美度。開發(fā)和測試人員應(yīng)該想著為人民服務(wù)的心態(tài)開發(fā)和測試軟件,從用戶角度看待軟件。只有團(tuán)隊(duì)齊心協(xié)力,將軟件做到更好,使軟件更加完美。

      參考文獻(xiàn):

      [1]RON PATTON. 軟件測試: 第2版 : 英文[M]. 2006.

      猜你喜歡
      軟件缺陷軟件測試軟件
      禪宗軟件
      英語文摘(2021年10期)2021-11-22 08:02:26
      基于源文件可疑度的靜態(tài)軟件缺陷檢測方法研究
      基于OBE的軟件測試課程教學(xué)改革探索
      軟件對對碰
      EXCEL和VBA實(shí)現(xiàn)軟件測試記錄管理
      電子制作(2018年16期)2018-09-26 03:27:18
      基于NPE-SVM的軟件缺陷預(yù)測模型
      關(guān)于軟件測試技術(shù)應(yīng)用與發(fā)展趨勢研究
      電子測試(2017年15期)2017-12-18 07:19:20
      開源程序的軟件缺陷分布特征的量化分析研究
      軟件測試工程化模型及應(yīng)用研究
      談軟件的破解與保護(hù)
      精品(2015年9期)2015-01-23 01:36:01
      定州市| 象州县| 大名县| 乌兰浩特市| 南木林县| 中宁县| 四川省| 稷山县| 锦屏县| 明溪县| 菏泽市| 奉贤区| 扬州市| 桃园县| 石景山区| 泸西县| 蓬溪县| 都安| 修文县| 垣曲县| 滦平县| 安远县| 香格里拉县| 霞浦县| 砀山县| 淳化县| 阜平县| 平潭县| 陇川县| 新乡市| 上杭县| 迁西县| 白水县| 寻乌县| 东丽区| 香港| 巴林左旗| 西峡县| 绵竹市| 福建省| 抚顺县|