前言:本站為你精心整理了軟件測試項目范文,希望能為你的創(chuàng)作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
測試的道理并不深奧,計算機專業(yè)人員都應該明白。但就是這么簡單的事,計算機專業(yè)的博士們也未必都已經理解。
有一天,一位比我聰明,編程比我快,學習能力比我強的計算機專業(yè)博士生恭恭敬敬地請我坐好,并且史無前例地削了蘋果請我吃,為的是向我請教“軟件工程”問題。你必定以為這位仁兄好學之極。非也,我和他同事三年來從未探討過“軟件工程”問題。只因為他明天要去應聘,參加面試,生怕被人問倒,就央我當晚為他惡補一把“軟件工程”。他還特地問我“什么是白盒測試和黑盒測試?應該由誰來執(zhí)行?”(有公司曾經這樣面試應聘者)當我解釋完測試的道理時,他嘆了一口氣說:“這些玩意兒我讀大學十年來都沒搞過,怎么能講得出道理來。唉,就去碰碰運氣吧。”我有“兔死狐悲”的感覺。我們這一群博士生三年來盡干些自欺欺人的事,到畢業(yè)時學問既不深也不博。個個意志消沉,老氣橫秋。長此以往,總有一天招聘會的大門前將貼出標語“博士與狗不得入內”。
以下是關于測試的幾個重要觀念。
1測試的目的
測試的目的是為了發(fā)現盡可能多的缺陷。
這里缺陷是一種泛稱,它可以指功能的錯誤,也可以指性能低下,易用性差等等。測試總是先假設程序中存在缺陷,再通過執(zhí)行程序來發(fā)現并最終改正缺陷。理解測試的目的是個很重要的意識問題。如果說測試的目的是為了說明程序中沒有缺陷,那么測試人員就會向這個目標靠攏,因而下意識地選用一些不易暴露錯誤的測試示例。這樣的測試是虛假的。
目前高校的科技成果鑒定會普遍存在類似的虛假現象。我在讀碩士時就親身經歷過這樣的事。我們的項目是研究集成電路制造過程中的成品率問題。當時國內大多數工廠的集成電路成品率只有百分之幾,我編寫的示例程序可以將集成電路的成品率優(yōu)化到98%。示例效果是如此的好,以致一位評委(某廠的總工程師)不無諷刺地說:“采用你們的成果,我們可要發(fā)大財了?!边@個項目就輕易地通過了鑒定,并且不久后獲得了電子工業(yè)部科技進步二等獎。這就象在考試時通過作弊取得了好成績而被表揚。我那時尚且純真,羞愧之余,不禁對高??蒲谐晒乃胶驼鎸嵭源笫ìF在我已不再失望,因為很少抱希望)。
一個成功的測試示例在于發(fā)現了至今尚未發(fā)現的缺陷。
測試并不僅是個技術問題,更是個職業(yè)道德問題。
2測試的心理要求
測試主要是由人而不是由機器執(zhí)行,這就不免與心理因素相關。為了測試的真實性,對測試的心理要求是“無情”。這似乎太殘酷了。開發(fā)人員不能很好地測試自己的程序是因為做不到無情。而測試人員如果做到了無情卻會引起開發(fā)人員的憤怒,遭人白眼。
盡管已經明白了測試的目的是為了發(fā)現盡可能多的缺陷,但當測試人員真的發(fā)現了一堆缺陷時,卻不可樂顛顛地跑去恭喜那個倒霉的開發(fā)者,否則會打架的。
3測試的真理
測試只能證明缺陷存在,而不能證明缺陷不存在。
這個真理告訴我們,對于一個復雜的系統而言,無論采取什么樣的測試手段都不能證明缺陷已經不復存在?!皬氐椎販y試”只是一種理想。在實踐中,測試要考慮時間、費用等限制,不允許無休止地測試。
4測試與質量的關系
測試有助于提高軟件的質量,但是提高軟件的質量不能依賴于測試。測試與質量的關系很象在考試中“檢查”與“成績”的關系。
學習好的學生,在考試時通過認真檢查能減少因疏忽而造成的答題錯誤,從而“提高”了考試成績(取得他本來就該得的好成績)。
而學習差的學生,他原本就不會做題目,無論檢查多么細心,也不能提高成績。
所以說,軟件的高質量是設計出來的,而不是靠測試修補出來的。