freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

軟件測(cè)試與改錯(cuò)——掌握有效測(cè)試的方法與技術(shù)林銳博士-資料下載頁(yè)

2025-09-19 09:29本頁(yè)面

【導(dǎo)讀】如果不懂得有效地進(jìn)行測(cè)試,你不僅得不到功勞,也沒(méi)人欣賞你的苦勞,你擁有最多的將只是疲。職業(yè)軟件工程師應(yīng)當(dāng)掌握需求開(kāi)發(fā)、系統(tǒng)設(shè)計(jì)、編程、測(cè)試、維護(hù)所有技能。所以測(cè)試人員的職責(zé)是設(shè)計(jì)這樣的測(cè)試用例。,它能有效地揭示潛伏在軟件里的缺陷。千萬(wàn)不要將“測(cè)試”與“演示”混為一談。例如科研鑒定會(huì)。如果產(chǎn)品通過(guò)了嚴(yán)格的測(cè)試,大家不要不吭氣,應(yīng)當(dāng)好好地宣傳一把。測(cè)試只能證明缺陷存在,不能證明缺陷不存在?!皬氐椎販y(cè)試”難以成為現(xiàn)實(shí),要考慮時(shí)間、費(fèi)。用等限制,不允許無(wú)休止地測(cè)試。單元測(cè)試的粒度最小,一般由開(kāi)發(fā)小組采用白盒方式來(lái)測(cè)試,主要測(cè)試單元是否符合“設(shè)計(jì)”。集成測(cè)試界于單元測(cè)試和系統(tǒng)測(cè)試之間,起到“橋梁作用”,一般由開(kāi)發(fā)小組采用白盒加黑盒的。測(cè)試的目的是找出盡可能多的缺陷。所以測(cè)試是“破壞性”的,而開(kāi)發(fā)卻是“建設(shè)性”的。

  

【正文】 以讓人在悲傷的低谷和喜悅的顛峰之間跌蕩起伏。如果改過(guò)了成千上萬(wàn)個(gè)程序錯(cuò)誤,那么少男少女們不必經(jīng)歷失戀的挫折也能變得成熟起來(lái)。 ? 軟件中的錯(cuò)誤通常只有開(kāi)發(fā)者自己才能找出并改掉。如果因畏懼而拖延,會(huì)讓你終日心情不定,食無(wú)味,睡不香。所以長(zhǎng)痛不如短痛,要集中精力對(duì)付錯(cuò)誤。 ? 東北有個(gè)林場(chǎng)工人,工作勤奮,一人能干幾個(gè)人的活。前三十年是伐樹(shù)勞模,受到周總理的接見(jiàn)。忽有一天醒悟過(guò)來(lái),覺(jué)得自己太對(duì)不起森林,決心補(bǔ)救錯(cuò)誤。后三十年成了植樹(shù)勞模,受到朱總理的接見(jiàn)。若能以此大勇來(lái)改錯(cuò),正是無(wú)往而不勝也。我們軟件開(kāi)發(fā)人員應(yīng)當(dāng)向這位可敬的林場(chǎng)工人學(xué)習(xí)。 Page 34 7. 改錯(cuò)的方法 對(duì)癥下藥 ? 改錯(cuò)的第一步是找出錯(cuò)誤的根源,如同醫(yī)生治病,必須先找出病因才能“對(duì)癥下藥”。改錯(cuò)過(guò)程很像偵破案件,有些壞事發(fā)生了,而僅有的信息就是它的確發(fā)生了。我們必須從結(jié)果出發(fā),逆向思考。一旦找到了根源,我們就知道如何改正了。 – 有人問(wèn)阿凡提:“我肚子痛,應(yīng)該用什么藥?” 阿凡提說(shuō):“應(yīng)該用眼藥水,因?yàn)槟阊劬Σ缓?,吃了臟東西才肚子痛?!? ? 根據(jù)軟件錯(cuò)誤的癥狀推斷出根源并不是件容易的事 , 因?yàn)椋? – ( 1) 癥狀和根源可能相隔很遠(yuǎn) 。 也就是說(shuō) , 癥狀可能在某一個(gè)程序單元中出現(xiàn) , 而根源實(shí)際上在很遠(yuǎn)的另一個(gè)地方 。 高度耦合的程序結(jié)構(gòu)加劇了這種情況 。 – ( 2) 癥狀可能在另一個(gè)錯(cuò)誤被糾正后暫時(shí)性消失 。 – ( 3) 癥狀可能并不是由某個(gè)程序錯(cuò)誤直接引發(fā)的 , 如誤差累積 。 – ( 4) 癥狀可能是由不太容易跟蹤的人工錯(cuò)誤引起的 。 – ( 5) 癥狀可能時(shí)隱時(shí)現(xiàn) , 如內(nèi)存泄漏 。 – ( 6) 很難重新產(chǎn)生完全一樣的輸入條件 , 難以恢復(fù) “ 錯(cuò)誤的現(xiàn)場(chǎng) ” 。 – ( 7)癥狀可能分布在許多不同的任務(wù)中,難以跟蹤。 ? 人們把尋找錯(cuò)誤根源的過(guò)程稱為調(diào)試( debugging)。 Page 35 7. 改錯(cuò)的方法 硬件的調(diào)試方法 ? 硬件調(diào)試據(jù)說(shuō)繼承了中醫(yī)的 “ 望聞聽(tīng)切 ” 診斷方法: – ( 1) 望 , 即用眼睛查看哪些地方是否有破損 。 – ( 2) 聞 , 即用鼻子聞哪些地方是否有燒焦的味道 。 – ( 3) 聽(tīng) , 即用耳朵聽(tīng)哪些地方是否有異常的噪聲 。 – ( 4) 切 , 即用手觸摸哪些地方是否異常發(fā)燙 。 ? 據(jù)有經(jīng)驗(yàn)的電器修理工說(shuō) , “ 望聞聽(tīng)切 ” 這 4招能解決大部分問(wèn)題 。 ? 通常軟件改錯(cuò)要比硬件改錯(cuò)的代價(jià)低 , 因?yàn)楹笳呓?jīng)常拋棄原來(lái)的東西 。 軟件的調(diào)試方法 ? 軟件調(diào)試的基本方法是“粗分細(xì)找”。對(duì)于隱藏得很深的 Bug, 我們應(yīng)該運(yùn)用歸納、推理、“二分”等方法先“快速、粗略”地確定錯(cuò)誤根源的范圍,然后再用調(diào)試工具仔細(xì)地跟蹤此范圍的源代碼。如果沒(méi)有調(diào)試工具,那么只好用“土辦法”:在程序中插入打印語(yǔ)句如 printf, 觀看屏幕的輸出。 ? 有些時(shí)候,世界上最好的調(diào)試工具恐怕是那些有經(jīng)驗(yàn)的人。我們經(jīng)常會(huì)長(zhǎng)時(shí)間地追蹤某個(gè) Bug,苦惱萬(wàn)分。恰好有高手路過(guò),被他一語(yǔ)“道破天機(jī)”,頓時(shí)沮喪的陰云就被驅(qū)散。 ? 改錯(cuò)的最大忌諱是“急躁蠻干”。人們常說(shuō)“急中生智”,我不信。我認(rèn)為大多數(shù)人著急了就會(huì)蠻干,早把“智”丟到腦后。不僅人如此,動(dòng)物也如此。 – 蜜蜂和麻雀撞玻璃的故事 …… Page 36 7. 改錯(cuò)的方法 改錯(cuò)時(shí)的注意事項(xiàng) ? ( 1) 找到錯(cuò)誤的代碼時(shí) , 不要急于修改 , 先思考一下:修改此代碼會(huì)不會(huì)引發(fā)其它問(wèn)題 ? 如果沒(méi)有問(wèn)題 , 可以放心修改 。 如果有問(wèn)題 , 那么可能要改動(dòng)程序結(jié)構(gòu) , 而不止一行代碼 。 ? ( 2) 有些時(shí)候 , 軟件中可能潛伏同一類型的許多錯(cuò)誤 ( 例如由不良的編程習(xí)慣引起的 ) 。 好不容易逮住一個(gè) , 應(yīng)當(dāng)乘勝追擊 , 全部殲滅 。 ? ( 3) 在改錯(cuò)之后一定要馬上進(jìn)行回歸測(cè)試 , 以免引入新的錯(cuò)誤 。 改了一個(gè)程序錯(cuò)誤固然是喜事, 但要防止樂(lè)極生悲 。 更加嚴(yán)格的要求是:不論原先程序是否絕對(duì)正確 , 只要對(duì)此程序作過(guò)改動(dòng)( 哪怕是微不足道的 ) , 都要進(jìn)行回歸測(cè)試 。 ? ( 4)上述事情做完后,應(yīng)當(dāng)好好反思:我為什么會(huì)犯這樣的錯(cuò)誤?怎么能夠防止下次不犯相似的錯(cuò)誤?最好能寫(xiě)下心得體會(huì),與他人共享經(jīng)驗(yàn)教訓(xùn)。 Page 37 8. 小結(jié) ? 優(yōu)秀的程序員敢于聲稱自己編寫(xiě)的代碼沒(méi)有錯(cuò)誤,這種自信讓人羨慕不已。一個(gè)錯(cuò)誤自身也許很微小,但是程序存在錯(cuò)誤這件事很?chē)?yán)重。能否做好測(cè)試工作,態(tài)度是很關(guān)鍵的。 ? 測(cè)試的真正動(dòng)機(jī)是為了讓軟件賺更多的錢(qián),所以人們?cè)趫?zhí)行測(cè)試之前至少要搞清楚兩個(gè)問(wèn)題:(1)要測(cè)試什么東西?( 2)怎樣有效地測(cè)試? ? 程序員應(yīng)該把測(cè)試當(dāng)成份內(nèi)之事,不要過(guò)分依賴于外界的 “ 黑盒測(cè)試 ” 。 “ 黑盒測(cè)試 ” 就象通過(guò)提問(wèn)題來(lái)判斷一個(gè)人是否是個(gè)瘋子,但無(wú)法知道他為什么成了瘋子。讓程序員先對(duì)自己的代碼進(jìn)行白盒測(cè)試并非多此一舉,這將使以后的日子更加輕松,并且習(xí)慣了就感覺(jué)不到有什么不方便。 ? 程序出了錯(cuò)誤一定要改錯(cuò),但是“編寫(xiě)優(yōu)質(zhì)無(wú)錯(cuò)”的程序才是根本的解決之道。在此,我竭力建議大家閱讀 Steve Maguire著的《 Writing Clean Code : Microsoft Techniques for Developing Bugfree C Programs》( 有中文譯本, [Maguire 1993])。 我深受此書(shū)的教誨,獲益非淺。 ? 開(kāi)發(fā)人員總是要經(jīng)常面對(duì)各種各樣的 Bug, 但是不要過(guò)于煩惱 , 不要忘記 “ 每天都是生活 ” 。 要懂一點(diǎn)養(yǎng)生之道 , 尤其要正常作息 , 過(guò)正常人的生活 。 熬夜編程只能偶爾為之 , 不可習(xí)以為常 ,否則不知不覺(jué)地傷害了身體健康 , 很不值得 。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1