版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第10頁共10頁2023程序員年度個(gè)人總結(jié)7.5.3系統(tǒng)測試和調(diào)試1.系統(tǒng)測試的意義及目的系統(tǒng)測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試。測試的目的就是希望能以最少的人力和時(shí)間發(fā)現(xiàn)潛在的各種錯誤和缺陷。應(yīng)根據(jù)開發(fā)各階段的需求、設(shè)計(jì)等文檔或程序的內(nèi)部結(jié)構(gòu)精心設(shè)計(jì)測試實(shí)例,并利用這些實(shí)例來運(yùn)行程序,以便發(fā)現(xiàn)錯誤。信息系統(tǒng)測試應(yīng)包括軟件測試、硬件測試和網(wǎng)絡(luò)測試。硬件測試、網(wǎng)絡(luò)測試可以根據(jù)具體的性能指標(biāo)來進(jìn)行,此處所說的測試更多的是指軟件測試。系統(tǒng)測試是保證系統(tǒng)質(zhì)量和可靠性的關(guān)鍵步驟,是對系統(tǒng)開發(fā)過程中的系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和實(shí)施的最后復(fù)查。根據(jù)測試的概念和目的,在進(jìn)行信息系統(tǒng)測試時(shí)應(yīng)遵循以下基本原則:·應(yīng)盡早并不斷地進(jìn)行測試。測試不是在應(yīng)用系統(tǒng)開發(fā)完之后才開始進(jìn)行的。由于原始問題的復(fù)雜性、開發(fā)各階段的多樣性以及參加人員之間的協(xié)調(diào)等因素,使得在開發(fā)各個(gè)階段都有可能出現(xiàn)的錯誤。因此,測試應(yīng)貫穿在開發(fā)的各個(gè)階段,盡早糾正錯誤,消除隱患?!y試工作應(yīng)該避免由原開發(fā)軟件的人或小組承擔(dān),一方面,開發(fā)人員往往不愿否認(rèn)自己的工作,總認(rèn)為自己開發(fā)的軟件沒有錯誤;另一方面,開發(fā)人員的錯誤很難由本人測試出來,很容易根據(jù)自己編程的思路來制定測試思路,具有局限性。測試工作由專門人員來承擔(dān)會更客觀,更有效。·設(shè)計(jì)測試方案的時(shí)候,不僅要確定輸入數(shù)據(jù),而且要根據(jù)系統(tǒng)功能確定預(yù)期輸出結(jié)果。將實(shí)際輸出結(jié)果與預(yù)期結(jié)果進(jìn)行比較就能發(fā)現(xiàn)測試對象是否正確?!ぴ谠O(shè)計(jì)測試實(shí)例時(shí),不僅要設(shè)計(jì)有效合理的輸入條件,也要包含不合理、失效的輸入條件。測試的時(shí)候,人們往往習(xí)慣按照合理的、正常的情況進(jìn)行測試,而忽略了對異常、不合理、意想不到的情況進(jìn)行測試,而這些可能就是隱患。·在測試程序時(shí),不僅要檢驗(yàn)程序是否做了該做的事,還要檢驗(yàn)程序是否做了不該做的事。多余的工作會帶來副作用,影響程序的效率,有時(shí)會帶來潛在的危害或錯誤。·嚴(yán)格按照測試計(jì)劃來進(jìn)行,避免測試的隨意性。測試計(jì)劃應(yīng)包括測試內(nèi)容、進(jìn)度安排、人員安排、測試環(huán)境、測試工具和測試資料等。嚴(yán)格按照測試計(jì)劃進(jìn)行測試可以保證進(jìn)度,使各方面都得以協(xié)調(diào)進(jìn)行?!ね咨票4鏈y試計(jì)劃和測試?yán)?,將其作為軟件文檔的組成部分,為維護(hù)提供方便。·測試?yán)討?yīng)是精心設(shè)計(jì)出來的,可以為重新測試或追加測試提供方便。當(dāng)糾正錯誤、系統(tǒng)功能擴(kuò)充后,都需要重新開始測試,而這些工作重復(fù)性很高,可以利用以前的測試?yán)樱蛟谄浠A(chǔ)上修改,然后進(jìn)行測試。2.測試過程測試是開發(fā)過程中一個(gè)獨(dú)立且非常重要的階段,測試過程基本上與開發(fā)過程平行進(jìn)行。一個(gè)規(guī)范化的測試過程通常包括以下基本的測試活動。(1)擬定測試計(jì)劃。在制定測試計(jì)劃時(shí),要充分考慮整個(gè)項(xiàng)目的開發(fā)時(shí)間和開發(fā)進(jìn)度以及一些人為因素和客觀條件等,使得測試計(jì)劃是可行的。測試計(jì)劃的內(nèi)容主要有:測試的內(nèi)容、進(jìn)度安排、測試所需的環(huán)境和條件、測試培訓(xùn)安排等。(2)編制測試大綱。測試大綱是測試的依據(jù)。它明確詳盡地規(guī)定了在測試中針對系統(tǒng)的每一項(xiàng)功能或特性所必須完成的基本測試項(xiàng)目和完成測試的標(biāo)準(zhǔn)。(3)根據(jù)測試大綱設(shè)計(jì)和生成測試?yán)?。在設(shè)計(jì)測試?yán)拥臅r(shí)候,可綜合利用前面介紹的測試?yán)雍驮O(shè)計(jì)技術(shù),產(chǎn)生測試設(shè)計(jì)說明文檔,其內(nèi)容主要有被測項(xiàng)目、輸入數(shù)據(jù)、測試過程、預(yù)期輸出結(jié)果等。(4)實(shí)施測試。測試的實(shí)施階段是由一系列的測試周期組成的。在每個(gè)測試周期中,測試人員和開發(fā)人員將依據(jù)預(yù)先編制好的測試大綱和準(zhǔn)備好的測試?yán)?,對被測軟件或設(shè)備進(jìn)行完整的測試。(5)生成測試報(bào)告。測試完成后,要形成相應(yīng)的測試報(bào)告,主要對測試進(jìn)行概要說明,列出測試的結(jié)論,指出缺陷和錯誤。另外,給出一些建議,如可采用的修改方法,各項(xiàng)修改預(yù)計(jì)的工作量及修改的負(fù)責(zé)人員。3.測試策略和測試方法軟件測試方法分人工測試和機(jī)器測試。1)人工測試人工測試指的是采用人工方式進(jìn)行測試,目的是通過對程序靜態(tài)結(jié)構(gòu)的檢查,找出編譯時(shí)不能發(fā)現(xiàn)的錯誤。經(jīng)驗(yàn)表明,組織良好的人工測試可以發(fā)現(xiàn)程序中30%~70%的編碼和邏輯設(shè)計(jì)錯誤。人工測試又稱為代碼審查,其內(nèi)容包括檢查代碼和設(shè)計(jì)是否一致,檢查代碼邏輯表達(dá)是否正確和完整,檢查代碼結(jié)構(gòu)是否合理等。主要有3種方法?!€(gè)人復(fù)查:指程序員本人對程序進(jìn)行檢查。由于心理上的原因和思維慣性的影響,對自己的錯誤一般不容易發(fā)現(xiàn),對功能理解的錯誤更不可能糾正。因此,這種方法主要針對小規(guī)模程序,效率不高?!こ椴椋和ǔS?~5人組成測試小組,測試人員應(yīng)是沒有參加該項(xiàng)目開發(fā)的有經(jīng)驗(yàn)的程序設(shè)計(jì)人員。在抽查之前,應(yīng)先閱讀相關(guān)的軟件資料和源程序,然后由測試人員扮演計(jì)算機(jī)的角色,將一批有代表性的測試數(shù)據(jù)沿程序的邏輯走一遍,監(jiān)視程序的執(zhí)行情況。人工檢測程序很慢,只能選擇少量簡單的例子?!彙y試人員的構(gòu)成與抽查類似。在會審之前,測試人員應(yīng)該充分閱讀相關(guān)資料,比如系統(tǒng)分析說明書、系統(tǒng)設(shè)計(jì)說明書、源程序等。測試人員應(yīng)盡可能多地列出典型錯誤。在會審時(shí),由編程人員逐句講解程序,測試人員逐個(gè)審查、提問。通過這種方式,往往可能使編程人員發(fā)現(xiàn)自己以前沒有意識到的錯誤,使問題暴露=會審后,要將發(fā)現(xiàn)的問題登記、分析、歸類?!ごa復(fù)審應(yīng)該在被測軟件編譯成功之后。編譯都不通過的軟件,當(dāng)然談不上復(fù)審。在復(fù)審期間,應(yīng)保證有足夠的時(shí)間,讓測試小組對問題進(jìn)行充分的討論,這樣才能有效地提高測試效率,避免出錯。2)機(jī)器測試機(jī)器測試是把設(shè)計(jì)好的測試?yán)幼饔糜诒粶y程序,比較測試結(jié)果和預(yù)期結(jié)果是否一致。如果不一致,就說明可能存在錯誤。機(jī)器測試只能發(fā)現(xiàn)錯誤的癥狀,無法對問題進(jìn)行定位。機(jī)器測試分為黑盒測試和白盒測試兩種。(1)黑盒測試也稱為功能測試。將軟件看成黑盒子,在完全不考慮軟件內(nèi)部結(jié)構(gòu)和特性的情況下,測試軟件的外部特性。進(jìn)行黑盒測試主要是為了發(fā)現(xiàn)以下幾類錯誤:·是否有錯誤的功能或遺漏的功能·界面是否有誤輸入是否正確接收輸出是否正確·是否有數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯誤·性能是否能夠接受·是否有初始化或終止性錯誤(2)白盒測試也稱為結(jié)構(gòu)測試。將軟件看成透明的白盒。根據(jù)程序的內(nèi)部結(jié)構(gòu)和邏輯來設(shè)計(jì)測試?yán)?,對程序的路徑和過程進(jìn)行測試,檢查是否滿足設(shè)計(jì)的要求。其原則是:·程序模塊中的所有獨(dú)立路徑至少執(zhí)行一次。·在所有的邏輯判斷中,取“真”和取“假”的兩種情況至少都要執(zhí)行一次?!っ總€(gè)循環(huán)都應(yīng)在邊界條件和一般條件下各執(zhí)行一次。·測試程序內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性等。4.軟件測試步驟軟件測試實(shí)際上可分成4步進(jìn)行。1)單元測試‘單元測試也稱為模塊測試,在模塊編寫完成且無編譯錯誤后就可以進(jìn)行。如果選用機(jī)器測試,一般用白盒測試法,多個(gè)模塊可以同時(shí)進(jìn)行。測試一個(gè)模塊時(shí)需要編寫一個(gè)驅(qū)動模塊和若干個(gè)樁(stub)模塊。驅(qū)動模塊的功能是向被測試模塊提供測試數(shù)據(jù),驅(qū)動被測模塊,并從被測模塊中接收測試結(jié)果。樁模塊的功能是模擬被測模塊所調(diào)用的子模塊,它接收被測模塊的調(diào)用,檢驗(yàn)調(diào)用參數(shù),模擬被調(diào)用的子模塊功能,把結(jié)果送回被測模塊。2)組裝測試組裝測試也稱為集成測試,就是把模塊按系統(tǒng)設(shè)計(jì)說明書的要求組合起來進(jìn)行測試。即使所有模塊都通過了測試,但在組裝之后,仍可能會出現(xiàn)問題:穿過模塊的數(shù)據(jù)被丟失;一個(gè)模塊的功能對其他模塊造成有害的影響;各個(gè)模塊組裝起來沒有達(dá)到預(yù)期的功能;全局?jǐn)?shù)據(jù)結(jié)構(gòu)出現(xiàn)問題;另外,對于單個(gè)模塊來說其誤差可以接受,但模塊組合后,可能會出現(xiàn)誤差累積,最后到不能接受的程度,所以需要組裝測試。通常,組裝測試有兩種方法:一種是分別測試各個(gè)模塊,再把這些模塊組合起來進(jìn)行整體測試,即非增量式集成;另一種是把下一個(gè)要測試的模塊組合到已測試好的模塊中,測試完后再將下一個(gè)需要測試的模塊組合起來,進(jìn)行測試,逐步把所有模塊組合在一起,并完成測試,即增量式集成。非增量式集成可以對模塊進(jìn)行并行測試,能充分利用人力,并加快工程進(jìn)度。但這種方法容易混亂,出現(xiàn)錯誤不容易查找和定位。增量式測試的范圍逐步擴(kuò)大,錯誤容易定位,而且已測試的模塊可在新的條件下再測試,使測試更徹底。3)確認(rèn)測試經(jīng)過組裝測試之后,軟件就被集成起來,接口方面的問題已經(jīng)解決,將進(jìn)入軟件測試的最后一個(gè)環(huán)節(jié)——確認(rèn)測試。確認(rèn)測試的任務(wù)就是進(jìn)一步檢查軟件的功能和性能是否與用戶要求的一致。系統(tǒng)方案說明書描述了用戶對軟件的要求,所以是軟件有效性驗(yàn)證的標(biāo)準(zhǔn),也是確認(rèn)測試的基礎(chǔ)。確認(rèn)測試,首先要進(jìn)行有效性測試以及軟件配置審查,然后進(jìn)行驗(yàn)收測試和安裝測試,經(jīng)過管理部門的認(rèn)可和專家鑒定后,軟件即可交給用戶使用。4)系統(tǒng)測試系統(tǒng)測試是將已經(jīng)確認(rèn)的軟件、計(jì)算機(jī)硬件、外設(shè)和網(wǎng)絡(luò)等其他因素結(jié)合在一起,進(jìn)行信息系統(tǒng)的各種組裝測試和確認(rèn)測試,其目的是通過與系統(tǒng)的需求相比較,發(fā)現(xiàn)所開發(fā)的系統(tǒng)與用戶需求不符或矛盾的地方。系統(tǒng)測試是根據(jù)系統(tǒng)方案說明書來設(shè)計(jì)測試?yán)拥?,常見的系統(tǒng)測試主要有恢復(fù)測試、安全性測試、強(qiáng)度測試、性能測試、可靠性測試、安裝測試。5.調(diào)試’調(diào)試的任務(wù)就是根據(jù)測試時(shí)發(fā)現(xiàn)的錯誤,找出原因和具體的位置,進(jìn)行改正。調(diào)試工作主要由程序開發(fā)人員來進(jìn)行,誰開發(fā)的程序就由誰來進(jìn)行調(diào)試。目前常用的調(diào)試方法有如下幾種:·試探法。調(diào)試人員分析錯誤的癥狀,猜測問題的所在位置,利用在程序中設(shè)置輸出語句,分析寄存器和存儲器的內(nèi)容等手段來獲得錯誤的線索,一步步地試探和分析出錯誤所在。這種方法效率很低,適合于結(jié)構(gòu)比較簡單的程序。·回溯法。調(diào)試人員從發(fā)現(xiàn)錯誤癥狀的位置開始,人工沿著程序的控制流程往回跟蹤代碼,直到找出錯誤根源為止。這種方法適合于小型程序,對于大規(guī)模程序,由于其需要回溯的路徑太多而變得不可操作?!Ψ植檎曳?。這種方法主要用來縮小錯誤的范圍,如果已經(jīng)知道程序中的變量在若干位置的正確取值,可以在這些位置上給這些變量以正確值,觀察程序運(yùn)行的輸出結(jié)果。如果沒有發(fā)現(xiàn)問題,則說明從賦予變量一個(gè)正確值開始到輸出結(jié)果之間的程序沒有錯,問題可能出在除此之外的程序中,否則錯誤就在所考察的這部分程序中,對含有錯誤的程序段再使用這種方法,直到把故障范圍縮小到比較容易診斷為止?!w納法。歸納法就是從測試所暴露的問題出發(fā),收集所有正確或不正確的數(shù)據(jù),分析它們之間的關(guān)系,提出假設(shè)的錯誤原因,用這些數(shù)據(jù)來證明或反駁,從而查出錯誤所在?!ぱ堇[法。根據(jù)測試結(jié)果,列出所有可能的錯誤原因。分析已有的數(shù)據(jù),排除不可能和彼此矛盾的原因。對余下的原因,選擇可能性最大的,利用已有的數(shù)據(jù)完善該假設(shè),使假設(shè)更具體。用假設(shè)來解釋所有的原始測試結(jié)果,如果能解釋這一切,則假設(shè)得以證實(shí),也就找出了錯誤;否則,要么是假設(shè)不完備或不成立,要么有多個(gè)錯誤同時(shí)存在,需要重新分析,提出新的假設(shè),直到發(fā)現(xiàn)錯誤為止。2023程序員年度個(gè)人總結(jié)(二)從我____月____日進(jìn)入公司到現(xiàn)在已經(jīng)過去____月了,從一名剛剛結(jié)束實(shí)習(xí)的學(xué)生到一名獨(dú)立的開發(fā)人員,角色改變了,職責(zé)也改變了。雖然已經(jīng)預(yù)計(jì)了工作之中會有很多困難,可是在實(shí)際的項(xiàng)目開發(fā)中,自己所遇到遠(yuǎn)遠(yuǎn)不止自己想象之中的那么簡單、單純。在開發(fā)過程中,難題一個(gè)接一個(gè)的出現(xiàn),要做到滿足公司的產(chǎn)品需求,成為一名合格的程序開發(fā)人員,這個(gè)過程還很漫長。每天我都在勉勵自己,要好好學(xué),好好做,以后會好的。在此同時(shí)我衷心感謝公司給我提供了學(xué)習(xí)的機(jī)會和平臺,這也使我對以后的日子多了些許的信心。工作回顧在我進(jìn)入公司的這八個(gè)月里,我陸續(xù)接觸了公司的GpS平臺,智能手表定位,上海鐵路局車站消防綜合管理系統(tǒng),盛泉金融款箱管理系統(tǒng),中行保衛(wèi)處的管理系統(tǒng),指揮中心的視頻監(jiān)控系統(tǒng),并在這期間為安徽品至制作了一個(gè)展示型企業(yè)網(wǎng)站。在剛進(jìn)入公司的那段時(shí)間里,我從沒有接觸過網(wǎng)絡(luò)攝像機(jī),對于網(wǎng)絡(luò)攝像機(jī)根本沒有任何概念,在公司的培養(yǎng)下我逐漸熟悉了各種攝像機(jī),現(xiàn)在拿到??怠⒂⒋a、賽赫、中威的攝像機(jī)開發(fā)包,可以很熟練的進(jìn)行二次開發(fā)。在工作之余,我也在努力的學(xué)習(xí),和別人交流,學(xué)習(xí)先進(jìn)的開發(fā)技術(shù),請教別人開發(fā)技術(shù)問題。一、主要問題1、由于開始對業(yè)務(wù)需求不是很熟悉,所以在寫需求分析與了解所要開發(fā)的過程中多次出現(xiàn)因?yàn)樾枨蟮脑?,而不斷修改、返工的情況。在同盛泉金融交流的時(shí)候,這個(gè)問題多次困擾著我,對方的需求不明,每次交流的過程中都在變更需求,從而導(dǎo)致了效率比較低的問題。2、在開發(fā)中,用到很多我所不知道或很多我知道但不太熟悉的領(lǐng)域,在這個(gè)領(lǐng)域內(nèi),我需要不斷的學(xué)習(xí)。3、在工作階段,有時(shí)比較偏向自己的工作方便,忽略了其他同事的工作上的量與難易。有的功能自己怎么方便怎么寫,如今公司在不斷壯大,我們部門人員在不斷的增加,這樣是不利于多人合作的。4、工作的條理性不夠清晰,要分清主次和輕重緩急;在開發(fā)時(shí)間很倉促的情況下,事情多了,就一定要有詳實(shí)而主次分明的計(jì)劃,哪些需要立即完成,哪些可以緩緩加班完成,在這方面還有很大的優(yōu)化空間。5、學(xué)習(xí)的知識不夠廣泛;一個(gè)項(xiàng)目中,涉及的技術(shù)往往有多種,知識多了,就會靈活變通,以后我會加強(qiáng)這方面的學(xué)習(xí)。二、1、每一個(gè)項(xiàng)目在開始著手的第一步,一定要和客戶把需求溝通清楚,只有了解了項(xiàng)目的需求,才有可能真正做好一個(gè)項(xiàng)目。我們需要向客戶提出要求客戶提供所有涉及該項(xiàng)目的資料,每次與客戶見面都需要熟悉業(yè)務(wù)與程序的最少一至兩個(gè)程序員隨時(shí)記錄需求。2、工作中,有一個(gè)無論是技術(shù),還是經(jīng)驗(yàn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 病例分析應(yīng)用研究報(bào)告
- 2024年汽車空調(diào)系統(tǒng)項(xiàng)目立項(xiàng)申請報(bào)告
- 班級紀(jì)律管理方案
- 玻璃雨搭施工方案
- 玻璃采購?fù)稑?biāo)方案
- 玻璃基板行業(yè)研究報(bào)告
- 玻璃公園建設(shè)方案
- 猜拳器課程設(shè)計(jì)
- 版畫動漫插畫課程設(shè)計(jì)
- 愛育特色托班課程設(shè)計(jì)
- 20200310公園安全風(fēng)險(xiǎn)辨識清單
- 華中科技大學(xué)官方信紙
- 60立方油罐容積細(xì)表
- WI-QA-02-034A0 燈具成品檢驗(yàn)標(biāo)準(zhǔn)
- 農(nóng)業(yè)信息技術(shù) chapter5 地理信息系統(tǒng)
- 部編版六年級上語文閱讀技巧及解答
- 斯派克max操作手冊
- 項(xiàng)目四 三人表決器ppt課件
- 結(jié)合子的機(jī)械加工工藝規(guī)程及銑槽的夾具設(shè)計(jì)
- 林武樟 完整陽宅講義 筆記版[方案]
- 《會滾的汽車》ppt課件
評論
0/150
提交評論