軟件測試人員最容易陷入的誤區(qū),值得收藏
文章鏈接:https://mp.weixin.qq.com/s/gzGIN4tZGEOwQtZJUNcLcg
短期內(nèi)通過增加軟件測試投入,迅速達到零bug
測試人員都應該知道一個原則,就是完全測試是不可能的,所謂的零BUG,就連阿里巴巴也做不到,并且軟件測試是貫穿整個項目生命周期的,需要盡早的介入測試,如果在項目后期加大測試力度,也并不能有效的提高測試質(zhì)量。因為測試人員沒有時間理解軟件的業(yè)務(wù)流程和接口邏輯。
忽視需求階段的參與
軟件測試的開展一定是從需求階段展開的。沒有需求文檔就無法衡量測試周期和測試范圍,也就無法編寫測試計劃和測試用例,所以忽視需求階段的參與,對于項目質(zhì)量來說是災難性的結(jié)果。
忽視用戶操作密集和核心功能的回歸測試
很多人認為用戶經(jīng)常操作的地方就不會出現(xiàn)問題,但是一個項目更新后,很可能導致以前的核心功能受到了影響,新的代碼對老的業(yè)務(wù)造成了破壞,所以說,回歸測試一定不能忽視核心功能以及用戶密集操作的模塊。相反,應該重點回歸!
忽視軟件測試建檔
軟件測試建檔,指的是軟件的測試記錄是否有效的存儲,是否可查詢,如果測試不建檔,那么測試報告就無從考察,測試結(jié)果也有沒有了依據(jù),所以測試建檔是必要環(huán)節(jié),不可忽略。
軟件開發(fā)完成之后進行軟件測試
軟件測試是貫穿整個項目生命周期的,必須要在需求階段的時候介入,在單元測試完成后就進行集成測試也就是接口測試,這可以發(fā)現(xiàn)80%的軟件缺陷。如果開發(fā)完成才介入測試,那么項目發(fā)布上線的時間即將會大大延長。而且很多問題修復成本也將會大大增加。
軟件如果發(fā)現(xiàn)質(zhì)量問題,都是測試人員的錯
很多人都覺得測試通過后,在用戶使用時發(fā)現(xiàn)bug一定是測試人員沒有測試到位而導致的,我曾經(jīng)的工作中就經(jīng)歷過多次這類問題,但是測試人員堅持認為該功能缺失測試過,并且沒有出現(xiàn)這類問題。后來經(jīng)過本人的辯論終于找到了問題的原因,就是開發(fā)人員的疏忽導致封包封版時,沒有保存最新代碼導致問題出現(xiàn)。
首先,如果大家以后遇到這樣的情況出現(xiàn),千萬不要心急如焚,手忙腳亂。要先確定該功能是否測試過,是否通過測試了。如果沒有測試,那么毫無疑問測試背鍋,如果測試通過還出現(xiàn)了問題,極有可能是開發(fā)人員封版時沒有保存最新的代碼而導致的。或者是開發(fā)人員在發(fā)布最終版本時擅自修改了部分代碼。
項目進度緊時少做些測試,時間富裕時多做測試
項目測試時間緊張的時候很容易出現(xiàn)測試不到位,測試不全面,導致發(fā)布后出現(xiàn)問題的情況,正常的處理辦法,應該是使用敏捷測試方法,測試范圍堅決不能縮水,測試用例可以忽略掉表單值域的用例,著重編寫流程性測試用例。并且開發(fā)完成了一個模塊,測試就測試一個模塊,這樣可以大大加快測試效率。本人很喜歡使用敏捷測試的方法,不僅可以減少測試時間,質(zhì)量也不會打折扣。記住一點,敏捷測試一定要對人員進行明確的分工。避免重復性測試帶來的效率降低。
軟件測試工作沒有前途,程序員才是軟件高手
相信很多人都認為測試沒有開發(fā)人員厲害,這確實是市場現(xiàn)狀,很多測試技術(shù)確實不如開發(fā)強,但是論前途,我覺得測試比開發(fā)更有挖掘潛力,測試的發(fā)展是多樣化的,而且范圍很廣,薪資也完全不亞于開發(fā)人員。真正的全棧測試工程師,技術(shù)也絕不會輸給開發(fā),甚至超越開發(fā)。小編在工作中,也經(jīng)常會遇到開發(fā)人員前來向我請教性能技術(shù)和自動化技術(shù)。
軟件測試就是保證軟件無故障運行
軟件測試不僅要保證軟件無故障運行,更要保障軟件的易用性,健壯性,穩(wěn)定性,安全性,兼容性,用戶體驗等一系列的因素,所以單純?yōu)榱藷o故障則顯得有些膚淺了。
軟件測試的環(huán)境就選用戶的環(huán)境
軟件測試分為三個環(huán)境,分別是“測試環(huán)境”、“HA環(huán)境”(準線上環(huán)境)、“線上環(huán)境”,用戶環(huán)境指的是第三個“線上環(huán)境”,而測試的重點用該是在“測試環(huán)境”和“HA環(huán)境”中。用戶環(huán)境中并不能隨意提交數(shù)據(jù)進行測試,只能在最后beta驗收階段時才會采用這個環(huán)境的測試。
開發(fā)人員更適合做軟件測試
我們常常聽到這樣的問題:“為什么軟件的開發(fā)者們不適合測試他們自己開發(fā)的軟件?”事實上,軟件開發(fā)人員測試自己所開發(fā)軟件的行為就如同學生在完成考試試卷后再對自己的成績進行評估。這種做法毫無意義
(1)開發(fā)人員對其所寫代碼有主觀認同感
人們通常會對自己所犯錯誤視而不見或者拒絕承認。同樣的,在軟件開發(fā)領(lǐng)域,程序員們對待其開發(fā)的應用程序就像對待自己的孩子一樣,拒絕承認自己的孩子有什么不好的地方。這就是為什么軟件開發(fā)人員難于發(fā)現(xiàn)和改正自己的錯誤。
(2)開發(fā)人員對軟件過于樂觀的心態(tài)
開發(fā)人員進行開發(fā)的目標是將軟件所需的功能完美的展現(xiàn)出來。當程序的功能運轉(zhuǎn)正常的時候他們會自我感覺良好,因為他們的主要目標就是功能二字。而測試人員與他們想的卻不一樣。測試人員通常會從不同的角度切入進軟件內(nèi)部,打破程序員們慣有的思維方式,通過各種不同的測試用例把軟件潛在的不足之處引發(fā)出來。
bug越多測試越有效
測試Bug的數(shù)量并不能說明測試的有效性,反倒能說明開發(fā)人員的技術(shù)水平。測試bug數(shù)量多則改的代碼就多,改的越多,越可能引發(fā)其他問題的出現(xiàn),甚至到后期bug越來越多。原本沒有問題的模塊也開始出現(xiàn)問題。測試的有效性不能以發(fā)現(xiàn)bug的數(shù)量而決定,更應該根據(jù)問題的隱蔽性或嚴重性來決定。
關(guān)注測試的執(zhí)行而忽略了測試的設(shè)計
執(zhí)行測試一定是按照提前設(shè)計好的方法進行的,測試的方法就是測試用例,如果不進行測試用例的設(shè)計,直接進行測試執(zhí)行階段,再強大的測試工程師也無法保證測試的全面性。相信大家都知道編寫測試用例的原則,是100%的覆蓋需求,可見測試設(shè)計階段的重要性。
測試是為了證明軟件的正確性
測試不僅要證明軟件的正確性,更應該證明軟件是錯的,測試人員不能只考慮正確的流程,往往出錯最多的是逆向思維測試,反邏輯測試,違背常規(guī)的測試是最有效的測試,所以說測試不是為了證明軟件的正確性,而是恰恰相反的證明軟件的錯誤性。
——內(nèi)容引自微信公眾號《隔壁老王說測試》https://mp.weixin.qq.com/s/gzGIN4tZGEOwQtZJUNcLcg