第一篇:一個軟件測試菜鳥奮斗史
一個軟件測試菜鳥奮斗史
入行2年,仍然在手工功能測試
大學畢業(yè)后就開始做軟件測試,一直做了2年,看著自己同樣是做軟件測試的同學有的已經(jīng)做到了測試主管,有的做性能測試,工資都比我高出了不少,突然感覺到壓力,我個人比較愛面子,家里也不屬于富二代,我想自己應該在技術(shù)上進行提升,讓自己有能力跟其他同學一樣做一些自動化的測試工作
測試自學
然后我開始在加入了好幾個QQ群,其中有Besttest的QQ群,他們一直在講一些免費的公開課,抱著學習的心態(tài),去聽了他們性能測試的公開課,從此之后我便喜歡上了Besttest,因為他們的公開兒課從來都是以實際的環(huán)境進行去操作講解,并不會像其他一些地方只說不做,或者只說大話。從此他們的公開課一節(jié)不拉的去聽去學習
我最喜歡的事Besttest網(wǎng)站上的測試自學路線圖跟測試自學的視頻,完全指明了我學習性能的路線,節(jié)約了我大量去查找資料的時間,遇到一些不懂的問題還可以直接跟他們討論學習。
就業(yè)
學習完基礎(chǔ)的性能測試視頻后,我找的小強老師單獨給我補習了幾天課程,在課程接受后,小強老師把我的簡歷推薦到了一些一線互聯(lián)網(wǎng)公司,期間接到了新浪、百度、360、搜狐等公司的面試電話,我也順利的拿到了新浪微博的offer。
入職1個月后,感慨良多,現(xiàn)在不管是工資達到自己的預期,現(xiàn)在公司也提供了我足夠大的發(fā)展平臺。所以我想對其他測試界的朋友說,為了自己,為了以后,多多學習吧。
第二篇:一個非名牌大學畢業(yè)生奮斗史
一個非名牌大學畢業(yè)生奮斗史
從2007年至今,我畢業(yè)兩年多了。這兩年,感覺自己成長了許多,也學會了很多,更重要的是,我近乎完美的完成了由學生到職業(yè)人的轉(zhuǎn)變。現(xiàn)在我已由剛畢業(yè)時的1500元實習工資做到了現(xiàn)在的年薪十萬多。年薪十萬對許多名牌大學的學生來說,也許剛畢業(yè)就能拿到,但對大多數(shù)大學畢業(yè)生來說,這是個不小的門檻兒。我愿意把我的經(jīng)歷與大家分享。
求職第一步:選好行業(yè)是關(guān)鍵
無論是我個人經(jīng)驗,還是前輩們的成功經(jīng)驗都說明,行業(yè)的選擇對一個初涉職業(yè)者來說是相當關(guān)鍵的,它代表著你以后的發(fā)展方向。以后你無論換職位(如,原來做產(chǎn)品,現(xiàn)在做銷售),還是跳槽,都要這在個行業(yè)內(nèi)發(fā)展。一旦離開了這個行業(yè),你之前積累的經(jīng)驗幾乎都廢了。我的一個朋友原來在海爾做海外產(chǎn)品經(jīng)理,現(xiàn)在跳槽到LG做人力資源培訓課長,雖然在職位上有跨度,但仍然沒有離開家電行業(yè),是個成功的案例;相比之下,我另一個朋友,從食品跳到房地產(chǎn),又跳到貿(mào)易進出口行業(yè),薪水卻一直超不過3000元,原因就在于他跨行業(yè)發(fā)展,經(jīng)驗得不到積累。而我本人卻一直沒跳槽。頻繁跳槽不利于職業(yè)的發(fā)展。
職場第二步:虛心求教,不合理就提出,不懂就問,尋求高效率的方法是關(guān)鍵
初涉職場的大學生,首先就是要擺低姿態(tài),要放下那股心高氣傲的勁,因為要學習的東西太多,而且這些東西在學校是學不來的。我前幾天看到有個關(guān)于清華畢業(yè)生實習經(jīng)歷的帖子,他說了一個令他十分苦惱的故事。
在他剛實習的時候,他師傅遞給他十幾頁文本資料,包括銷售報表什么的,要他做成電子版的資料,并且當天下午就要用。我們知道,十幾頁文檔,就算打字再快,無論如何在一個下午完不成的。但是他竟然沒有提出這個疑問,中午飯也不吃,一直在敲鍵盤打字,做表格。結(jié)果到下午師傅問他要時,他當然沒有完成。事實上,他公司就有一臺文本儀,專門做掃描錄入用的,幾分鐘就能搞定。如果他在接到任務時提出異議“用鍵盤打下午完不成吧?”,他師傅自然會告訴他用文本儀錄入。而他既然不問,他師傅卻可能以為他知道用文本儀去掃描錄入,哪知道他一味蠻干,用鍵盤去敲字,精神固然可嘉,但工作要講究效率。
最后結(jié)果就是,他被師傅罵,他生師傅氣,他認為自己沒有功勞也有苦勞。
我卻不這么看,這些問題固然有信息溝通上的偏差,但主要責任在于這個實習生自己,他不虛心。結(jié)果他跟師傅之間關(guān)系越鬧越糟糕,最后還打算要離職。所以我強調(diào)“虛心求教,不合理就提出,不懂就問,工作講究高效率”。這只是一件小事,工作中還有很多很多情況,特別是突發(fā)事件,要你去靈活應對,你不講究工作效率和技巧,一味蠻干肯定是不會得到上司賞識的。
職場第三步:不要太拿工資當回事兒
我說這話,可能會有很多人不認同。這么說吧,金庸的《鹿鼎記》大家都聽看過吧,里面韋小寶經(jīng)常說的一句話“花花轎兒人抬人”,水漲船高,意思是你讓別人好了,你就會好;同樣的,你把本職工作干好了,對公司好了,對上司好了,他們焉能看不見?等這種現(xiàn)象積累到一定程度,自然會給你加薪。如果你僅僅因為工資低而抱怨,不能盡心工作,甚至頻繁跳槽,往往會適得其反。
職場第四步:不要嫌工作比別人多
肯定更有人反對我了。但是對于這個事,你必須學會逆向思維。因為你初涉職場,需要學的東西太多,特別需要鍛煉的機會,工作多,事情多了,你學的東西不就比別人多嗎?我剛轉(zhuǎn)正時是做區(qū)域銷售運營的工作,負責從拿訂單到產(chǎn)品發(fā)貨的整個過程。公司一共劃分四個區(qū)域,我負責的北區(qū)分銷商最多,工作最繁瑣。而東區(qū)和南區(qū)大客戶較多,西區(qū)則正在開發(fā)中,他們的工作都比我輕松。但是,我頂著壓力堅持下去了。或許這就是我能快速成長起來的原因。
第三篇:軟件測試(推薦)
一、簡答5*6’
1.為什么不讓時間有余的人做測試工作
表面上看這體現(xiàn)了管理的效率和靈活性,但實際上也體現(xiàn)了管理者對測試的輕視。測試和測試的人有很大關(guān)系。測試工作人員應該是勤奮并富有耐心,善于學習、思考和發(fā)現(xiàn)問題,細心有條理,總結(jié)問題,如果具備這樣的優(yōu)點,做其它工作同樣也會很出色,因此這里還有一個要求,就是要喜歡測試這項工作。2.軟件測試風險主要體現(xiàn)在哪里
我們沒有對軟件進行完全測試,實際就是選擇了風險,因為缺陷極有可能存在沒有進行測試的部分。因此,我們要盡可能的選擇最合適的測試量,把風險降低到最小 3.所有軟件測試缺陷都需要修復嗎
從技術(shù)上講,所有的軟件缺陷都是能夠修復的,但是沒有必要修復所有的軟件缺陷。測試人員要做的是能夠正確判斷什么時候不能追求軟件的完美。對于整個項目團隊,要做的是對每一個軟件缺陷進行取舍,根據(jù)風險決定那些缺陷要修復。發(fā)生這種現(xiàn)象的主要原因如下:-沒有足夠的時間資源。在任何一個項目中,通常情況下開發(fā)人員和測試人員都是不夠用的,而且在項目中沒有預算足夠的回歸測試時間,修改缺陷可能引入新的缺陷。
-有些缺陷只是特殊情況下出現(xiàn),這種缺陷處于商業(yè)利益考慮,可以在以后升級中進行修復。-不是缺陷的缺陷。我們經(jīng)常會碰到某些功能方面的問題被當成缺陷來處理,這類問題可以以后有時間時考慮再處理。缺陷是否修改要由軟件測試人員、項目經(jīng)理、程序員共同討論來決定是否修復,不同角色的人員從不同的角度來思考,以做出正確的決定。4.如何減少測試人員跳槽帶來的損失 建議我們從以下兩個方面做起:
-加強部門內(nèi)員工之間的互相學習,互相學習是建立學習型組織的基本要求,是知識互相轉(zhuǎn)移的過程。在此基礎(chǔ)上,可以把個人擁有的技術(shù)以知識的形式沉積下來,也就完成了隱性知識到顯性知識的轉(zhuǎn)化。
-管理者就應該把員工的個人成長和企業(yè)的發(fā)展聯(lián)系起來,為員工設定合理發(fā)展規(guī)劃并付諸實現(xiàn)。
5.驗收測試的注意點有哪些 測試要注意下面的事項:
(1)用戶現(xiàn)場測試不可能測試全部功能,因此要測試核心功能。這需要提前做好準備,這些核心功能一定要預先經(jīng)過測試,證明沒有問題才可以和用戶共同進行測試。測試核心模塊的目的是建立用戶對軟件的信心。當然如果這些模塊如果問題較多,不應該進行演示。(2)如果某些模塊確實有問題,我們可以演示其它重要的業(yè)務功能模塊,必要時要向用戶做成合理的解釋。爭得時間后,及時修改缺陷來彌補。(3)永遠不能欺騙用戶,蒙混過關(guān)。6.完全測試程序是可能的嗎
實際上完全測試是不可能的。主要有以下原因:-完全測試比較耗時,時間上不允許;
-完全測試通常意味著較多資源投入,這在現(xiàn)實中往往是行不通的;-輸入量太大,不能一一進行測試;-輸出結(jié)果太多,只能分類進行驗證;-軟件實現(xiàn)途徑太多;
-軟件產(chǎn)品說明書沒有客觀標準,從不同的角度看,軟件缺陷的標準不同;因此測試的程度要根據(jù)實際情況確定 7.是不是發(fā)現(xiàn)的缺陷越多就說明軟件缺陷越多 其中的原因主要如下:
-代碼復用、拷貝代碼導致程序員容易犯相同的錯誤。類的繼承導致所有的子類會包含基類的錯誤,反復拷貝同一代碼意味可能也復制了缺陷。-程序員比較勞累是可以導致某些連續(xù)編寫的功能缺陷較多。
“缺陷一個連著一個”不是一個客觀規(guī)律,只是一個常見的現(xiàn)象。如果軟件編寫的比較好,這種現(xiàn)象就不常見了。測試人員只要嚴肅認真的測試程序就可以了。8.軟件測試就是QA嗎
軟件測試人員的職責是盡可能早的找出軟件缺陷,確保得以修復。而質(zhì)量保證人員(QA)主要職責是創(chuàng)建或者制定標準和方法,提高促進軟件開發(fā)能力和減少軟件缺陷。測試人員的主要工作是測試,質(zhì)量保證人員日常工作重要內(nèi)容是檢查與評審,測試工作也是測試保證人員的工作對象。軟件測試和質(zhì)量是相輔相成的關(guān)系,都是為了提高軟件質(zhì)量而工作。9.測試產(chǎn)品和測試項目區(qū)別
習慣上把開發(fā)完成后進行商業(yè)化、幾乎不進行代碼修改就可以售給用戶使用的軟件成為軟件產(chǎn)品,也就是可以買“賣拷貝”的軟件,軟件項目是一種個性化的產(chǎn)品,可以是按照用戶要求全部重新開發(fā),也可以修改已有的軟件產(chǎn)品來滿足特定的用戶需求。項目和產(chǎn)品的不同特點,決定我們測試產(chǎn)品和測試項目仍然會有很多不同的地方:
-質(zhì)量要求不同。通常產(chǎn)品的質(zhì)量要高一些,修復發(fā)布后產(chǎn)品的缺陷成本較高,甚至會帶來很多負面的影響。而做項目通常面向某一用戶,雖然質(zhì)量越高越好,但是一般只要滿足用戶要求就可以了。測試資源投入多少不同。做軟件產(chǎn)品通常是研發(fā)中心來開發(fā),進度壓力要小些。同時由于質(zhì)量要求高,因此會投入較多的人力、物力資源。項目最后要和用戶共同驗收測試,這是產(chǎn)品測試不具有的特點。此外,測試產(chǎn)品與測試項目在缺陷管理方面、測試策略制定都會有很大不同,測試管理者應該結(jié)合具體的環(huán)境,恰如其分的完成工作 10.如何編寫提交給用戶的測試報告
測試報告一般分為內(nèi)部測試報告和外部測試報告。內(nèi)部報告是我們在測試工作中的項目文檔,反映了測試工作的實施情況,一般外部測試報告要滿足下面幾個要求:
根據(jù)內(nèi)部測試報告進行編寫,一般可以摘錄;不可以向客戶報告嚴重缺陷,即使是已經(jīng)修改的缺陷,開發(fā)中的缺陷也沒有必要讓客戶知道;報告上可以列出一些缺陷,但必須是中級的缺陷,而且這些缺陷必須是修復的;報告上面的內(nèi)容盡量要真實可靠;整個測試報告要仔細審閱,力爭不給項目帶來負面作用,尤其是性能測試報告??傊獠繙y試報告要小心謹慎的編寫。
二、論述2*12’
1.請論述為什么要進行軟件測試,并列舉歷史上2~3個著名軟件測試(缺陷)案例,說明測試重要性
軟件測試的目的,第一是確認軟件的質(zhì)量,其一方面是確認軟件做了你所期望做的事情(,另一方面是確認軟件以正確的方式來做了這個事情。第二是提供信息,比如提供給開發(fā)人員或程序經(jīng)理的回饋信息,為風險評估所準備的信息。第三軟件測試不僅是在測試軟件軟件產(chǎn)品本身,而且還包括軟件開發(fā)的過程。如果一個軟件產(chǎn)品開發(fā)完成之后發(fā)現(xiàn)了很多問題,這說明此軟件開發(fā)過程很可能是有缺陷的。因此,軟件測試的第三個目的是保證整個軟件開發(fā)過程是高質(zhì)量的。
愛國者導彈防御系統(tǒng)把“槍口”對準了自己人 美國迪斯尼公司的獅子王游戲軟件的兼容性問題 售票系統(tǒng)性能問題
2.論述軟件測試科學的發(fā)展歷程 1957年之前-調(diào)試為主 20世紀50年代,計算機剛誕生不久,只有科學家級別的人才會去編程,需求和程序本身也遠遠沒有現(xiàn)在這么復雜多變,相當于開發(fā)人員一人承擔需求分析,設計,開發(fā),測試等所有工作,當然也不會有人去區(qū)分調(diào)試和測試。
1957–1978-證明為主 當時計算機應用的數(shù)量,成本和復雜性都大幅度提升,隨之而來的經(jīng)濟風險也大大增加,測試就顯得很有必要了,這個時期測試的主要目就是確認軟件是滿足需求的,也就是我們常說的“做了該做的事情”。
1979–1982-破壞為主 我們不僅要證明軟件做了該做的事情,也要保證它沒做不該做的事情,這會使測試更加全面,更容易發(fā)現(xiàn)問題。
1983–1987-評估為主 人們提出了在軟件生命周期中使用分析,評審,測試來評估產(chǎn)品的理論。軟件測試工程在這個時期得到了快速的發(fā)展.1988–至今-預防為主 預防為主是當下軟件測試的主流思想之一。測試不是在編碼完成后才開始介入,而是貫穿于整個軟件生命周期。3.論述軟件缺陷的由來
軟件缺陷的產(chǎn)生主要是由軟件產(chǎn)品的特點和開發(fā)過程決定的。
軟件本身:①需求不清晰,導致設計目標偏離客戶的需求,從而引起功能或產(chǎn)品特征上的缺陷。②系統(tǒng)結(jié)構(gòu)非常復雜,而又無法設計成一個很好的層次結(jié)構(gòu)或組件結(jié)構(gòu),結(jié)果導致意想不到的問題或系統(tǒng)維護、擴充上的困難;即使設計成良好的面向?qū)ο蟮南到y(tǒng),由于對象、類太多,很難完成對各種對象、類相互作用的組合測試,而隱藏著一些參數(shù)傳遞、方法調(diào)用、對象狀態(tài)變化等方面問題。③對程序邏輯路徑或數(shù)據(jù)范圍的邊界考慮不夠周全,漏掉某些邊界條件,造成容量或邊界錯誤。④對一些實時應用,要進行精心設計和技術(shù)處理,保證精確的時間同步,否則容易引起時間上不協(xié)調(diào),不一致性帶來的問題。⑤沒有考慮系統(tǒng)崩潰后的自我恢復或數(shù)據(jù)的異地備份、災難性恢復等問題,從而存在系統(tǒng)安全性、可靠性的隱患。⑥系統(tǒng)運行環(huán)境的復雜,不僅用戶使用的計算機環(huán)境千變?nèi)f化,包括用戶的各種操作方式或各種不同的輸入數(shù)據(jù),容易引起一些特定用戶環(huán)境下的問題;在系統(tǒng)實際應用中,數(shù)據(jù)量很大。從而會引起強度或負載問題。⑦由于通信端口多、存取和加密手段的矛盾性等,會造成系統(tǒng)的安全性或適用性等問題。⑧新技術(shù)的采用,可能涉及技術(shù)或系統(tǒng)兼容的問題,事先沒有考慮到。
團隊工作:系統(tǒng)需求分析時對客戶的需求理解不清楚,或者和用戶的溝通存在一些困難。不同階段的開發(fā)人員相互理解不一致。對于設計或編程上的一些假定或依賴性,相關(guān)人員沒有充分溝通。項目組成員技術(shù)水平參差不齊技術(shù)問題。算法錯誤:在給定條件下沒能給出正確或準確的結(jié)果。語法錯誤:對于編譯性語言程序,編譯器可以發(fā)現(xiàn)這類問題;但對于解釋性語言程序,只能在測試運行時發(fā)現(xiàn)。計算和精度問題:計算的結(jié)果沒有滿足所需要的精度。系統(tǒng)結(jié)構(gòu)不合理、算法選擇不科學,造成系統(tǒng)性能低下。接口參數(shù)傳遞不匹配,導致模塊集成出現(xiàn)問題。
項目管理的問題:缺乏質(zhì)量文化,不重視質(zhì)量計劃,對質(zhì)量、資源、任務、成本等的平衡性把握不好,容易擠掉需求分析、評審、測試、等時間,遺留的缺陷會比較多。系統(tǒng)分析時對客戶的需求不是十分清楚,或者和用戶的溝通存在一些困難。開發(fā)周期短,需求分析、設計、編程、測試等各項工作不能完全按照定義好的流程來進行,工作不夠充分,結(jié)果也就不完整、不準確,錯誤較多;周期短,還給各類開發(fā)人員造成太大的壓力,引起一些人為的錯誤。開發(fā)流程不夠完善,存在太多的隨機性和缺乏嚴謹?shù)膬?nèi)審或評審機制,容易產(chǎn)生問題。文檔不完善,風險估計不足等。4.軟件測試V模型
①繪制示意圖
②闡述每個步驟是做什么 需求分析
即首先要明確客戶需要的是什么,需要軟件作成什么樣子,需要有那幾項功能
概要設計
主要是架構(gòu)的實現(xiàn),指搭建架構(gòu)、表述各模塊功能、模塊接口連接和數(shù)據(jù)傳遞的實現(xiàn)等項事務。詳細設計
對概要設計中表述的各模塊進行深入分析,對各模塊組合進行分析等。軟件編碼
按照詳細設計好的模塊功能表,編程人員編寫出實際的代碼。單元測試
按照設定好的最小測試單元進行按單元測試,主要是測試程序代碼,為的是確保各單元模塊被正確的編譯,單元的具體劃分按不同的單位與不同的軟件有不同。集成測試
經(jīng)過了單元測試后,將各單元組合成完整的體系,主要測試各模塊間組合后的功能實現(xiàn)情況,以及模塊接口連接的成功與否,數(shù)據(jù)傳遞的正確性等,其主要目的是檢查軟件單位之間的接口是否正確。根據(jù)集成測試計劃,一邊將模塊或其他軟件單位組合成系統(tǒng),一邊運行該系統(tǒng),以分析所組成的系統(tǒng)是否正確,各組成部分是否合拍。系統(tǒng)測試
經(jīng)過了單元測試和集成測試以后,我們要把軟件系統(tǒng)搭建起來,按照軟件規(guī)格說明書中所要求,測試軟件其性能功能等是否和用戶需求相符合,在系統(tǒng)中運行是否存在漏洞,等。驗收測試
主要就是用戶在拿到軟件的時候,在使用現(xiàn)場,會根據(jù)前邊所提到的需求,以及規(guī)格說明書來做相應測試,以確定軟件達到符合效果的。
第四篇:一個軟件測試主管的職業(yè)之路
我從軟件測試工程師到主管的成長歷程
張軍(化名)從前是學藝術(shù)的,由于對測試行業(yè)的強烈興趣,畢業(yè)后在深圳從事軟件測試工作。工作不到一年的時間里,已經(jīng)從測試員升職到測試主管了。對于學習、工作,他積累了許多點點滴滴的經(jīng)驗,愿意與大家分享。
走入測試行業(yè):愛好,技術(shù)
說實話,我做測試工作的時間不是很長,被深圳市冠泰瑞恒科技有限公司外派到一個外企,到現(xiàn)在也就是一年多的時間吧,不過,我愿意把自己學習和工作中積累起的這些點滴與大家分享。
我走入測試行業(yè)完全是因為興趣,興趣產(chǎn)生學習和工作的熱情,真的是一點都不假。從我選擇走入這個行業(yè),學習、工作,從測試員到測試主管,我都是快樂的,也很充實,很有成就感。
我覺得,在決定走入測試行業(yè)后,就要在這方面多做準備和積累,首先要有堅實的測試理論基礎(chǔ),這些知識不僅是學習的時候要學的扎實,在以后的工作中還要繼續(xù)不斷的完善。其次,要有一定的行業(yè)知識。畢業(yè)后找工作時,有做手機測試的,也有做外包測試的。我做的是ERP產(chǎn)品。大家都知道,ERP(EnterpriseResourcePlanning)就是企業(yè)資源計劃系統(tǒng),是指建立在信息技術(shù)基礎(chǔ)上,以系統(tǒng)化的管理思想,為企業(yè)決策層及員工提供決策運行手段的管理平臺。我在學習測試專業(yè)前曾接觸到ERP,所以,在畢業(yè)的找工作的時候就往這方面發(fā)展了。
說到找工作,我覺得精心制作簡歷是一方面,同時還要有靈活的面試技巧。有時還要把在生活中學到的東西應用到面試中去。我記得我第一次去面試的時候比較湊巧,面試前的頭天晚上我在電視里剛好看到一個和面試有關(guān)的節(jié)目,結(jié)果,第二天在我自己去面試的時候就被我用到了。當時是在問到薪金待遇時。我覺得這是很多人包括我自己在面試時都會覺得是比較頭疼的問題,因為,說的多了,不行;說的少了,也不行。這時,你就要用一些技巧了。
這時你可以先試探性的詢問對方公司在招聘這個職位的時候是怎么規(guī)定的?等你了解了這些后,你再就自己的技術(shù)能力來衡量相應薪金的比價,另外就是看這個公司的實力,還有一點就是行業(yè)內(nèi)這個職位的大致待遇情況。這樣的話,在你說出你對薪金的要求的時候,如果,應聘的公司較小,但是還是存在一定發(fā)展空間而且你也想試試的情況下,你要得工資低,對方會考慮到可能是你已大致了解了公司的實力所以才開出這樣的條件,而不是你自己的技術(shù)不行;如果你看到這個公司的狀況還是比較好的,是家有一定實力的公司,這時,你可以適當抬高自己的身價。
我的應聘還是比較順利的,第一天應聘,第二天就上班了。我記得當時面試的時候大約談了兩個半小時,就一次性面試過關(guān)。另外我自己也比較引以自豪的是我是我們公司唯一一個在兩個月之內(nèi)轉(zhuǎn)正的。初來乍到:熟悉環(huán)境,盡快融入
開始進入公司的時候首先要熟悉公司的環(huán)境。在一些大的公司可能會給大家熟悉環(huán)境的時間,還會安排一些相應的培訓什么的。我當時進入冠泰瑞恒科技后,我們部門經(jīng)理給我們剛?cè)肼毜耐掳才帕艘粋€多月的測試相關(guān)的輔導,這樣我后面工作上上手就快了很多。
所以,你必須盡快的在一到兩周之內(nèi)熟悉公司各個方面的環(huán)境,尤其是人員環(huán)境。我覺得人際關(guān)系在整個公司里面也是很重要的一方面,夸張一點說甚至是比你的本職工作還要重要的。因為,掌握技術(shù)是你智商方面的問題,而與人交往就不是那么簡單,因為我們的興趣、愛好可能差別很大,性格也有內(nèi)向和外向的,所以在進入社會步入工作崗位后與人交往真的是很考驗一個人。如果你在公司人際關(guān)系搞得好的話,工作各方面的協(xié)調(diào)順利,工作的進展也會很順利。
還有就是要盡快的熟悉公司的測試環(huán)境,操作系統(tǒng)、開發(fā)語言、平臺,接著就是要了解公司的產(chǎn)品,掌握產(chǎn)品相關(guān)的知識。像我們項目組是自己研發(fā)的經(jīng)銷群、財務這樣的一個系統(tǒng)。你要了解公司產(chǎn)品的時候,可以向產(chǎn)品研發(fā)部,或設計部要些相關(guān)的說明文檔,盡快的介入這個行業(yè),熟悉自己要做的測試項目。說實話,我是學習藝術(shù)專業(yè)的,不是學計算機的,所以我當初的時候有點暈,我就直接拿著產(chǎn)品自己在那兒摸索,自己寫出一個產(chǎn)品使用說明。向這樣的事情,可能在大的公司會有專門的配選,在小公司可能就要自己學習產(chǎn)品了。不過,我覺得這樣是挺鍛煉人的,又發(fā)掘了你另一方面的潛能呢。
盡可能多的參加研發(fā)部的會議
員工間的技術(shù)交流。在我們項目像這樣的會一周大概要有一到兩次,大家相互交流工作進展情況,或者是一些相關(guān)的技術(shù)方面的交流。不一定是非常正式的,但我感覺這樣的會議是非常有必要的。
還有就是公司研發(fā)部召開的會議,你也要一定要也應該的介入、參加。我當初介入最早的是他們的研發(fā)意向,然后他的一些需求調(diào)研啊,還有其他的一些設計啊等等一些會議。像這樣的會議我覺得是一定要抽出時間來參加的,因為這確實是對你的工作有很大的幫助的。因為在立項會議上,你可以了解項目的可操作性,以及項目的特點;在調(diào)研會議上,了解需求,市場需求是開發(fā)的依據(jù),也是測試的依據(jù)。同時一定要參加需求更改會議,以便你更好的進行測試工作。在這些都做到位后,我們就開始寫測試計劃了。
測試計劃
寫測試計劃就像我們在課堂上學到的那些,測試計劃、測試用例,開始我們的測試流程。這時就是具體應用的時候。寫測試計劃的時候要跟研發(fā)部要詳細設計文檔、產(chǎn)品規(guī)格說明書和需求調(diào)研的說明(產(chǎn)品使用說明)這樣的相關(guān)文檔。如果在大公司的話,他的設計部會寫產(chǎn)品使用說明或者是一些測試規(guī)約。還有就是一定要他的開發(fā)計劃,因為你做每一步測試是根據(jù)開發(fā)進度來進行的,開發(fā)計劃是必不可少的。
最后根據(jù)上述的文檔,從時間、內(nèi)容、資源、所用工具,還有人力安排,這樣一份簡單的測試計劃已經(jīng)成形。像一般小的公司,他會對哪個人在哪天完成那項工作是很關(guān)注的,像我們原來學的那種比較完整的文檔,在這樣項目里是需要變通的,因為他們也沒有很多的人力物力沒有很多的時間去看那樣的文檔。編寫測試用例首先要根據(jù)產(chǎn)品的特點編寫。你的產(chǎn)品的特點在產(chǎn)品沒有成型之前,你肯定不是特別了解也不是特別清楚,但是你可以根據(jù)它的框架大概的給搭出來,你能想到的盡量給細化寫到文檔里面,然后在測試過程中不斷的完善。
如果在測試執(zhí)行的過程中突然間發(fā)現(xiàn)一個比較好的測試用例,一定要及時給補充進去,你不給它補充上去是你的一大損失,因為你以后的工作中可能還會需要這樣的文檔,或者以后接手你工作的人,他可能會看到這個文檔,這對他以后的工作也會有很大的幫助。在大的公司有專門的測試設計人員來編寫這些東西,在小公司就是測試主管或者測試員編寫。
像我們項目從測試用例、測試計劃、測試執(zhí)行什么的都是我來做的。當初是因為第一個項目比較小,我自己做,本來是給我招了一個助手,也就用了大概一兩個月吧。我個人的感覺是除非你招特別熟練的,對行業(yè),對測試技術(shù)各方面都比較熟悉的,一來就能上手工作的還行。如果不這樣,招一個剛畢業(yè)的應屆生,他對測試行業(yè)不是很了解,而公司人手本身就少,你根本就沒有時間給他做培訓,而你還要工作,也沒有那么大的精力去手把手的教人家。
在設計測試用例的時候要考慮周到,不要重復。就我的工作來說做ERP產(chǎn)品就是注意各個模塊的借口以及數(shù)據(jù)測試。有好多的接口,比如說銷售模塊是和財務模塊在測試時是會發(fā)生重復的部分,這個要自己注意。行業(yè)性比較強接下來說執(zhí)行測試。要按照測試用例來執(zhí)行。你不能說做了測試用例而在工作的時候根本就不看,這樣對你的工作是沒有幫助的。因為你按照測試用例來執(zhí)行的話基本就是按照自己的思路來做,這樣你走到哪一步心里都非常的清楚。這樣最大的好處就是減少重復的工作,可以提高工作效率。我想這點無論是在小公司還是大公司,還是就我們工作的本身都是很重要的。
然后,最好是做測試日記錄,目的就是明確自己測試到哪里,以免重復工作。就我自己來說,我在做測試的時候每天都會做測試日記,一個是記錄我今天發(fā)現(xiàn)了多少個bug,工作到哪一步了?做了哪些工作。我發(fā)現(xiàn)這個做測試日記錄是很有意思的。每天測出了多少各bug,我雖然在那個bag管理工具上錄了一遍,但是我還是要把它記錄下來。
我當初第一天去上班的時候,第一次接觸到這個執(zhí)行測試的時候,我記得特別清楚,我是找出了65個bug。我覺得這說明兩個問題,一個是我工作特別認真,一個是研發(fā)部有問題確實是有問題。所以,你不要覺得搞研發(fā)的都很厲害,很牛啊,你會有點怵。
當初我們公司也是聯(lián)想、方正、惠普的這三個主力支柱,但是我沒有覺得怵,雖然他們很自負。基本上很小的錯誤都能提出來,他們認為那根本不是bug。但是你到了討論會或技術(shù)交流會、評估會的時候可以提出來,因為這是你作為一個測試員最基礎(chǔ)的必須的工作,也是你對工作認真負責的態(tài)度。
和開發(fā)人員的溝通。這個是對測試人員很重要的。這個我在前面提到過,每個人不是獨立的在做事情,工作中都是需要相互的配合,特別是測試工作,有問題,你需要及時的和研發(fā)人員溝通。如果你連溝通都做不好,那么,你的測試工作根本就沒有辦法進行。在這當中,你要堅持自己的原則,就是對事不對人,因為,這個產(chǎn)品有問題,它就是存在bug,那么,就要有人負責去修改。你不能說,對方是部門領(lǐng)導你就不敢堅持自己提出的問題。第二,就是要堅守其他的測試原則,這就是我們在學習理論的時候所掌握的一些知識。因為,我們學習時的課程設計就是根據(jù)項目來設置的,很多東西基本和實際工作中相吻合。
作為測試負責人,在測試工作中我給自己訂了一個基本的工作流程,現(xiàn)在也就當作是部門的規(guī)章制度在執(zhí)行。就是錄入bug以后,我會在下面做bug描述,開發(fā)人員是否要修改,為什么要修改,大概時間是多少,這樣督促對方的話,會有利于工作的進度。不然,如果工作沒有完成,就會出現(xiàn)相互推諉的現(xiàn)象。
查出bug后就是督促開發(fā)人員修改bug。同時也要注意bug管理工具。自己要用好bug管理工具,也要督促開發(fā)人員用好bug管理工具。因為,有很多開發(fā)人員還都是比較懶的,他當時會跟你說,都有什么bug,你到我的機器上演示給我看不就行了嗎?
這是一個不好的習慣,也很費時間。所以,你一定要督促他們使用bug管理工具。這是我深有體會的,而且,還在兩次較大的公司會議上提出,最終是被大家所接受認同。大家都知道,一般開發(fā)的男同事較多,做測試的女孩子較多,你在提出問題的時候態(tài)度不要太強硬,在日常的工作中委婉的提醒他,大家一般都不會太為難你的。不但工作解決了,同事間的關(guān)系也很融洽。
接著就是測試報告的編寫。這些我們在就業(yè)班的時候都學過,就是測試背景、內(nèi)容、測試通過率。以及產(chǎn)品的優(yōu)點、缺陷,還有你對項目的建議。這一切都做好了就是開測試評估會了。
關(guān)于自動化測試我的個人意見
我個人認為現(xiàn)在是自動化成風?,F(xiàn)在很多的公司,無論是大是小,無論這公司有沒有用過這個測試工具,他都會問你會用幾種測試工具,會自動化測試嗎?我當時去冠泰瑞恒面試的時候,也遇到這個問題,當時我首先問他的是,咱們公司做過手工以外的不管是性能啊還是功能其他測試嗎?他們回答說沒有。一個沒有做好手工測試的產(chǎn)品,是堅決不能用工具代替手工的。
自動化測試是不能代替手工的。自動化測試用好了可以節(jié)省時間提高效率。但是如果你用不好,反而會增加自己的工作量。如果你的需求和界面一直在增加,那么自動化也是用不起來的。我覺得適合自動化測試的公司,一個是產(chǎn)品對安全和性能要求嚴格的;一個可以有專人對教本文檔進行維護的。像那些手工測試不過關(guān),需求經(jīng)常變動,人員少,產(chǎn)品的GUI 經(jīng)產(chǎn)改動的公司都不太適合用自動化測試。
一不小心就整理了這么多點滴出來,還真沒想到自己還是很能寫的嘛。估計這和我在公司除了做測試工作,還做些其他工作有關(guān)。我說過,因為冠泰瑞恒安排我從事的這個項目規(guī)模不大,所以,一些產(chǎn)品的使用說明、產(chǎn)品的安裝說明,包括客服培訓,都是由我來寫的。在測試之余,一些和測試無關(guān)的工作我也會去做,比如測試制度的編寫,OA 產(chǎn)品管理員,售前咨詢顧問 這樣的工作。我想我就是這么鍛煉出來的。
第五篇:軟件測試復習資料
1. 黑盒測試法是通過分析程序的功能來設計測試用例的方法。
2. 黑盒測試除了測試程序外,它還適用于對需求分析階段的軟件文檔進行測試。3. 白盒測試除了測試程序外,它也適用于對軟件具體設計階段的軟件文檔進行測試。4. 單元測試一般以白盒測試法為主,測試的依據(jù)是模塊功能規(guī)格說明。5. 軟件測試中常用的靜態(tài)分析方法是引用分析和接口分析。
6. 測試人員的基本素質(zhì)為計算機專業(yè)技能、測試專業(yè)技能、行業(yè)知識
7. 軟件危機的體現(xiàn)為:A、開發(fā)成本和進度估計不正確B、用戶對完成的軟件不滿足C、軟件經(jīng)常不可維護;
8. 軟件測試按照開發(fā)階段劃分:A、單元測試
B、集成測試;系統(tǒng)測試C、確認測試;驗收測試
9. 軟件測試按照測試技術(shù)劃分:A、性能測試、負載測試、壓力測試B、恢復測試、安全測試、兼容測試
10. 軟件測試項目周期是指:A、需求階段、測試計劃B、階段測試、設計階段測試、執(zhí)行階段 11. 軟件測試原則有:A、制定嚴格的測試計劃 B、保留所有的測試文檔C、功能測試中的缺陷確認 12. 制定測試計劃的步驟:確定測試范圍、確定測試策略、確定測試標準、確定測試構(gòu)架、確定項目管理機制、預計測試工作量、測試計劃評審 13. 對于軟件的β測試,β測試就是在軟件公司外部展開的測試,由非專業(yè)的測試人員執(zhí)行的測試。14. 正式的技術(shù)評審FTR(Formal Technical Review)是軟件質(zhì)量保證活動,其相關(guān)的描述為: A.FTR是評審產(chǎn)品而不是評審生產(chǎn)者的能力B.FTR要有嚴格的評審計劃并遵守日程安排C.FTR限制參與者人數(shù)并要求評審會之前做好預備 15. 在進行單元測試時,常用的方法是采用白盒測試,輔之以黑盒測試
16. 側(cè)重于觀察資源耗盡情況下的軟件表現(xiàn)的系統(tǒng)測試被稱為壓力測試 17. 必須要求用戶參與的測試階段是驗收測試 18. 系統(tǒng)測試的目的是對最終軟件系統(tǒng)進行全面的測試,確保最終軟件系統(tǒng)滿足產(chǎn)品需求并且遵循系統(tǒng)設計。
19. 測試通??煞譃榘缀袦y試和黑盒測試。白盒測試是根據(jù)程序的內(nèi)部邏輯來設計測試用例,黑盒測試是根據(jù)軟件的規(guī)格說明來設計測試用例。20. 一個程序中所含有的路徑數(shù)與程序的復雜程度有著直接的關(guān)系。
1. 測試階段的根本目標是盡可能多地發(fā)現(xiàn)并排除軟件中潛藏的錯誤,最終把一個高質(zhì)量的軟件系統(tǒng)交給用戶使用。2. 功能測試時系統(tǒng)測試的主要內(nèi)容,檢查系統(tǒng)的功能、性能是否與需求規(guī)格說明相同。3. 軟件測試主要分為單元測試、集成測試、確認測試和系統(tǒng)測試四類測試。4. 漸增方式把模塊結(jié)合到程序中去時,有自頂向下和自底向上兩種集成策略。5. 編寫測試用例的依據(jù)是單元測試計劃和詳細設計說明書。6. 系統(tǒng)測試時在集成測試完成后,確認測試之前進行的測試。
7. 設計系統(tǒng)測試計劃需要參考的項目文檔有軟件測試計劃、軟件需求工件、和迭代計劃。
8. 測試設計員的職責有設計測試用例、設計測試過程、腳本。
9. 軟件驗收測試包括正式驗收測試、alpha測試、beta測試三種類型。10. 軟件測試按照開發(fā)階段劃分單元測試、集成測試、系統(tǒng)測試、確認測試、驗收測試。11. 軟件測試按照測試技術(shù)劃分性能測試、負載測試、壓力測試、恢復測試、安全測試、兼容測試
12. 靜態(tài)測試基本特征是在對軟件進行分析、檢查和審閱,不實際運行被測試的軟件 13. 軟件測試項目周期是指需求階段、測試計劃、階段測試、設計階段測試、執(zhí)行階段 14. 軟件測試的角色分析人員、設計人員、開發(fā)人員、執(zhí)行人員 15. 軟件測試原則有制定嚴格的測試計劃、、保留所有的測試文檔、功能測試中的缺陷確認
16. 測試工作的文檔主要有:測試計劃、測試模型和用例設計或規(guī)格說明、測試分析報告等
17. 測試計劃的制定必須要注重測試策略、測試范圍、測試方法、測試安排、測試風險、測試治理
18. 缺陷的分類為:需求文檔的缺陷、軟件配置引起的缺陷、分析、設計的缺陷、靜態(tài)文檔的缺陷、軟件開發(fā)引起的缺陷、短視將來的缺陷 19. 測試用例工作主要是如何添加測試用例、如何編寫測試用例、將測試用例和需求關(guān)聯(lián)
20. 自動化測試工具有:ratinal Robot、winrunner、quicktest 21. 軟件性能測試工具有: loadRunner、Ratinaol Visual Qantify、PureLoad 22. BUG的種類有:需求階段的BUG、分析設計階段的BUG、實現(xiàn)階段的BUG、配置階段的BUG、靜態(tài)文檔的BUG。23. 測試項目主要包括以下幾個階段:計劃階段、初始階段、執(zhí)行階段、總結(jié)評估階段、設計階段。
1. 缺陷報告
是描述軟件缺陷現(xiàn)象和重現(xiàn)步驟地集合。軟件缺陷報告Software Bug Report(SBR)或軟件問題報告Software Problem Report(SPR)
2. 回歸測試
是指重新執(zhí)行已經(jīng)做過的測試的某個子集,以保證修改變化沒有帶來非預期的副作用。
3. 動態(tài)測試 通過運行軟件來檢驗軟件的動態(tài)行為和運行結(jié)果的正確性。動態(tài)測試的兩個基本要素: 被測試程序、測試數(shù)據(jù)(測試用例)
4. 白盒測試又稱為結(jié)構(gòu)測試和邏輯驅(qū)動測試,允許測試人員對程序內(nèi)部邏輯結(jié)構(gòu)及有關(guān)信息來設計和選擇測試用例,對程序的邏輯路徑進行測試。白盒測試是把測試對象看作一個打開的盒子,測試人員須了解程序的內(nèi)部結(jié)構(gòu)和處理過程,由于白盒測試是一種結(jié)構(gòu)測試,所以被測對象基本上是源程序,以程序的內(nèi)部邏輯和指定的覆蓋標準確定測試數(shù)據(jù)。
5. 黑盒測試又稱為功能測試或數(shù)據(jù)驅(qū)動測試,把系統(tǒng)看成一個黑盒子,不考慮程序的內(nèi)在邏輯,只根據(jù)需求規(guī)格說明書的要求來檢查程序的功能是否符合它的功能說明。
6. 路徑覆蓋的含義是,選取足夠多的測試數(shù)據(jù),使程序的每條可能路徑都至少執(zhí)行一次(如果程序圖中有環(huán),則要求每個環(huán)至少經(jīng)過一次)。
7. 軟件測試 :在軟件投入運行前,對軟件需求分析、設計規(guī)格說明和編碼的最終復審,是軟件質(zhì)量保證的關(guān)鍵步驟。8. 單元測試(模塊測試):針對每個模塊進行的測試,可從程序的內(nèi)部結(jié)構(gòu)出發(fā)設計測試用例,多個模塊可以平行地對立地測試。通常在編碼階段進行,必要的時候要制作驅(qū)動模塊和樁模塊。9. 集成測試:在單元測試的基礎(chǔ)上,將所有模塊按照設計要求組裝成為系統(tǒng),應提交集成測試計劃、集成測試規(guī)格說明和集成測試分析報告。
10. 確認測試:驗證軟件的功能和性能及其它特性是否與用戶的要求一致。
11. 系統(tǒng)測試:將軟件放在整個計算機環(huán)境下,包括軟硬件平臺、某些支持軟件、數(shù)據(jù)和人員等,在實際運行環(huán)境下進行一系列的測試。
1. 測試過程中會產(chǎn)生哪些基本文檔?
(1)測試計劃(通常包括單元測試和集成測試):確定測試范圍、方法和需要的資源
(2)測試過程:詳細描述和每個測試方案有關(guān)的測試步驟和數(shù)據(jù)(包括測試數(shù)據(jù)及預期的結(jié)果);
(3)測試結(jié)果:把每次測試運行的結(jié)果歸入文檔,如果運行出錯,則應產(chǎn)生 問題報告,并且必須通過調(diào)試解決所發(fā)現(xiàn)的問題。
(4)
2.大型軟件系統(tǒng)的測試過程基本上由幾個步驟組成? 1).模塊測試
在設計得好的軟件系統(tǒng)中,每個模塊完成一個清晰定義的子功能,而且這個子功能和同級其他模塊的功能之間沒有相互依賴關(guān)系。因此,有可能把每個模塊作為一個單獨的實體來測試,而且通常比較容易設計檢驗模塊正確性的測試方案。模塊測試的目的是保證每個模塊作為一個單元能正確運行,所以模塊測試通常又稱為單元測試。在這個測試步驟中所發(fā)現(xiàn)的往往是編碼和詳細設計的錯誤。2).子系統(tǒng)測試
子系統(tǒng)測試是把經(jīng)過單元測試的模塊放在一起形成一個子系統(tǒng)來測試。模塊相互間的協(xié)調(diào)和通信是這個測試過程中的主要問題,因此,這個步驟著重測試模塊的接口。3).系統(tǒng)測試
系統(tǒng)測試是把經(jīng)過測試的子系統(tǒng)裝配成一個完整的系統(tǒng)來測試。在這個過程中不僅應該發(fā)現(xiàn)設計和編碼的錯誤,還應該驗證系統(tǒng)確實能提供需求說明書中指定的功能,而且系統(tǒng)的動態(tài)特性也符合預定要求。在這個測試步驟中發(fā)現(xiàn)的往往是軟件設計中的錯誤,也可能發(fā)現(xiàn)需求說明中的錯誤。不論是子系統(tǒng)測試還是系統(tǒng)測試,都兼有檢測和組裝兩重含義,通常稱為集成測試。4).驗收測試
驗收測試把軟件系統(tǒng)作為單一的實體進行測試,測試內(nèi)容與系統(tǒng)測試基本類似,但是它是在用戶積極參與下進行的,而且可能主要使用實際數(shù)據(jù)(系統(tǒng)將來要處理的信息)進行測試。驗收測試的目的是驗證系統(tǒng)確實能夠滿足用戶的需要,在這個測試步驟中發(fā)現(xiàn)的往往是系統(tǒng)需求說明書中的錯誤。驗收測試也稱為確認測試。5).平行運行
關(guān)系重大的軟件產(chǎn)品在驗收之后往往并不立即投入生產(chǎn)性運行,而是要再經(jīng)過一段平行運行時間的考驗。所謂平行運行就是同時運行新開發(fā)出來的系統(tǒng)和將被它取代的舊系統(tǒng),以便比較新舊兩個系統(tǒng)的處理結(jié)果。這樣做的具體目的有如下幾點:(1)可以在準生產(chǎn)環(huán)境中運行新系統(tǒng)而又不冒風險;(2)用戶能有一段熟悉新系統(tǒng)的時間;
(3)可以驗證用戶指南和使用手冊之類的文檔;
(4)能夠以準生產(chǎn)模式對新系統(tǒng)進行全負荷測試,可以用測試結(jié)果驗證性能指標。3.一套完整的測試應該由哪些階段組成?分別闡述一下各個階段。
計劃階段、設計階段、白盒單元、白盒集成、黑盒單元、黑盒集成、系統(tǒng)測試、回歸測試、驗收測試一套完整的測試應該由五個階段組成:
1)測試計劃首先,根據(jù)用戶需求報告中關(guān)于功能要求和性能指標的規(guī)格說明書,定義相應的測試需求報告,即制訂黑盒測試的最高標準。以后所有的測試工作都將圍繞著測試需求來進行,符合測試需求的應用程序即是合格的,反之即是不合格的;同時,還要適當選擇測試內(nèi)容,合理安排測試人員、測試時間及測試資源等。2)測試設計將測試計劃階段制訂的測試需求分解、細化為若干個可執(zhí)行的測試過程,并為每個測試過程選擇適當?shù)臏y試用例(測試用例選擇的好壞將直接影響測試結(jié)果的有效性)。
3)測試開發(fā)建立可重復使用的自動測試過程。
4)測試執(zhí)行執(zhí)行測試開發(fā)階段建立的自動測試過程,并對所發(fā)現(xiàn)的缺陷進行跟蹤管理,測試執(zhí)行一般由單元測試、組合測試、集成測試、系統(tǒng)聯(lián)調(diào)及回歸測試等步驟組成,測試人員應本著科學負責的態(tài)度,一步一個腳印地進行測試。
5)測試評估結(jié)合量化的測試覆蓋域及缺陷跟蹤報告,對于應用軟件的質(zhì)量和開發(fā)團隊的工作進度及工作效率進行綜合評價。4.軟件測試的流程
制訂測試計劃、設計測試用例、實施測試、提交缺陷報告、編寫測試總結(jié)。5.測試計劃的內(nèi)容都包括什么?其中哪些是最重要的?
1)測試計劃的內(nèi)容:測試目的和測試項目簡介、測試參考文檔和測試提交文檔、術(shù)語和定義、測試策略、確定測試內(nèi)容、資源、測試進度、測試員的職責與任務分配、項目通過或失敗的標準、暫停和重新啟動測試的標準、風險和問題等。2)最重要的:測試策略、確定測試內(nèi)容、資源、測試進度、測試員的職責與任務分配、項目通過或失敗的標準 6.測試計劃的目的是什么?
測試計劃的目的:編寫軟件測試計劃的目的是指導測試組成員進行工作和讓測試組以外的項目成員了解測試工作的。7.簡述靜態(tài)測試和動態(tài)測試的區(qū)別?
a)靜態(tài)測試: 基本特征是在對軟件進行分析、檢查和審閱,不實際運行被測試的軟件。靜態(tài)測試約可找出30~70%的邏輯設計錯誤。對需求規(guī)格說明書、軟件設計說明書、源程序做檢查和審閱。包括:是否符合標準和規(guī)范;通過結(jié)構(gòu)分析、流圖分析、符號執(zhí)行指出軟件缺陷。b)動態(tài)測試:通過運行軟件來檢驗軟件的動態(tài)行為和運行結(jié)果的正確性。動態(tài)測試的兩個基本要素:被測試程序和測試數(shù)據(jù)(測試用例)。動態(tài)測試方法:(1)選取定義域有效值,或定義域外無效值;(2)對已選取值決定預期的結(jié)果;(3)用選取值執(zhí)行程序;(4)執(zhí)行結(jié)果與預期的結(jié)果相比,不吻和程序有錯。8.白盒測試有哪幾種方法?
語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、多重條件覆蓋。9.壓力測試和性能測試的區(qū)別?
1)廣義上說壓力測試是包括在性能測試之中的,是性能測試項內(nèi)的一種。
2)性能測試:顧名思義就是測試軟件的運行性能。驗證SRS中的性能需求,是否實現(xiàn)。
3)壓力測試:測試軟件在超負荷下的工作情況,也是一種軟件的性能。因此是屬于性能測試范圍的。
10.測試結(jié)束的標準是什么?
測試計劃中所有規(guī)定的測試內(nèi)容和回歸測試都已經(jīng)運行完成或根據(jù)上級主管對測試結(jié)果的意見,就可以結(jié)束本次測試。11.黑盒測試的測試用例設計方法包括哪些?:
a)等價類劃分:劃分等價類--確立測試用例--設計用例。b)邊界值分析:通過分析,考慮如何確立邊界情況 c)錯誤推測法:靠經(jīng)驗和直覺來推測程序中可能存在的各種錯誤,從而有針對性地編寫用例??梢粤信e出可能的錯誤和可能發(fā)生錯誤的地方,然后選擇用例。d)因果圖:通過畫因果圖,在圖上標明約束和限制,轉(zhuǎn)換成判定表,然后設計測試用例。這適合于檢查程序輸入條件的各種組合情況。
12.缺陷報告的作用
缺陷報告是軟件測試人員的工作成果之一,體現(xiàn)軟件測試的價值缺陷報告可以把軟件存在的缺陷準確的描述出來,便于開發(fā)人員修正缺陷報告可以反映項目、產(chǎn)品當前的質(zhì)量狀態(tài),便于項目整體進度和質(zhì)量控制。軟件測試缺陷報告是軟件測試的輸出成果之一,可以衡量測試人員的工作能力。13.等價分類法的基本思想是什么?
根據(jù)程序的輸入特性,將程序的定義域劃分為有限個等價區(qū)段“等價類”,從等價類中選擇出的用例具有“代表性”,即測試某個等價類的代表值就等于對這一類其他值的測試。如果某個等價類的一個輸入數(shù)據(jù)(代表值)測試中查出了錯誤,說明該類中其他測試用例也會有錯誤。14.簡單闡述一下軟件測試的目標
(1)測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程;
(2)好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案;(3)成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。15.軟件測試準則有哪些?
(1)所有測試都應該能追溯到用戶需求。
(2)應當把“盡早地和不斷地進行軟件測試” 作為軟件開發(fā)者的座右銘。(3)pareto原則:測試發(fā)現(xiàn)的錯誤中的80%很可能是由程序中20%的模塊造成的。
(4)應該從“小規(guī)?!睖y試開始,并逐步進行“大規(guī)模”測試。
(5)測試用例應由輸入數(shù)據(jù)和預期的輸出結(jié)果兩部分組成,并兼顧合理的輸入和不合理的輸入數(shù)據(jù)
(6)窮舉測試是不可能的。
(7)為了達到最佳的測試效果,應該由獨立的第三方從事測試工作。
(8)程序修改后要回歸測試。
(9)應長期保留測試用例,直至系統(tǒng)廢棄。16.您認為做好測試用例設計工作的關(guān)鍵是什么?
1)白盒測試用例設計的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果
2)黑盒測試用例設計的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測試,以最少的用例在合理的時間內(nèi)發(fā)現(xiàn)最多的問題
1. 根據(jù)下面給出的規(guī)格說明,利用等價類劃分的方法,給出足夠的測試用例。
“一個程序讀入三個整數(shù)。把此三個數(shù)值看成是一個三角形的三個邊。這個程序要打印出信息,說明這個三角形是三邊不等的、是等腰的、還是等邊的。”
2. 某報表處理系統(tǒng)要求用戶輸入處理報表的日期,日期限制在2003年1月至2008年12月,即系統(tǒng)只能對該段期間內(nèi)的報表進行處理,如日期不在此范圍內(nèi),則顯示輸入錯誤信息。系統(tǒng)日期規(guī)定由年、月的6位數(shù)字字符組成,前四位代表年,后兩位代表月。請用等價類劃分法和邊界值劃分法設計測試用例來測試程序的日期檢查功能。
3. 設要對一個自動飲料售貨機軟件進行黑盒測試。該軟件的規(guī)格說明如下:
“有一個處理單價為1元5角錢的盒裝飲料的自動售貨機軟件。若投入1元5角硬幣,按下“可樂”、“雪碧”或“紅茶”按鈕,相應的飲料就送出來。若投入的是2元硬幣,在送出飲料的同時退還5角硬幣?!?/p>
利用等價類劃分的方法,設計測試該軟件的全部測試用例。