天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

當(dāng)前位置:主頁 > 論文百科 > 英文數(shù)據(jù)庫 >

手機互動百科

發(fā)布時間:2017-03-21 22:07

  本文關(guān)鍵詞:軟件測試,由筆耕文化傳播整理發(fā)布。


測試簡介

軟件測試

是使用人工操作或者軟件自動運行的方式來檢驗它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實際結(jié)果之間的差別的過程。

它是幫助識別開發(fā)完成(中間或最終的版本)的計算機軟件(整體或部分)的正確度(correctness) 、完全度(completeness)和質(zhì)量(quality)的軟件過程;是SQA(software quality assurance)的重要子域。

Glenford J.Myers曾對軟件測試的目的提出過以下觀點:

軟件測試

軟件測試

(1)測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程。

(2)好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案。

(3)成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。

(4)測試并不僅僅是為了找出錯誤。通過分析錯誤產(chǎn)生的原因和錯誤的發(fā)生趨勢,可以幫助項目管理者發(fā)現(xiàn)當(dāng)前軟件開發(fā)過程中的缺陷,以便及時改進(jìn)。

(5)這種分析也能幫助測試人員設(shè)計出有針對性的測試方法,改善測試的效率和有效性。

(6)沒有發(fā)現(xiàn)錯誤的測試也是有價值的,完整的測試是評定軟件質(zhì)量的一種方法。

(7)另外,根據(jù)測試目的的不同,還有回歸測試、壓力測試、性能測試等,分別為了檢驗修改或優(yōu)化過程是否引發(fā)新的問題、軟件所能達(dá)到處理能力和是否達(dá)到預(yù)期的處理能力等。

測試原則

一,測試應(yīng)該盡早進(jìn)行,最好在需求階段就開始介入,因為最嚴(yán)重的錯誤不外乎是系統(tǒng)不能滿足用戶的需求。

二,程序員應(yīng)該避免檢查自己的程序,軟件測試應(yīng)該由第三方來負(fù)責(zé)。

三,設(shè)計測試用例時應(yīng)考慮到合法的輸入和不合法的輸入以及各種邊界條件,特殊情況下要制造極端狀態(tài)和意外狀態(tài),如網(wǎng)絡(luò)異常中斷、電源斷電等。

四,應(yīng)該充分注意測試中的群集現(xiàn)象。

五,對錯誤結(jié)果要進(jìn)行一個確認(rèn)過程。一般由A測試出來的錯誤,一定要由B來確認(rèn)。嚴(yán)重的錯誤可以召開評審會議進(jìn)行討論和分析,對測試結(jié)果要進(jìn)行嚴(yán)格地確認(rèn),是否真的存在這個問題以及嚴(yán)重程度等。

六,制定嚴(yán)格的測試計劃。一定要制定測試計劃,并且要有指導(dǎo)性。測試時間安排盡量寬松,不要希望在極短的時間內(nèi)完成一個高水平的測試。

七,妥善保存測試計劃、測試用例、出錯統(tǒng)計和最終分析報告,為維護(hù)提供方便。

測試目標(biāo)

1.發(fā)現(xiàn)一些可以通過測試避免的開發(fā)風(fēng)險。

2.實施測試來降低所發(fā)現(xiàn)的風(fēng)險。

3.確定測試何時可以結(jié)束。

4.在開發(fā)項目的過程中將測試看作是一個標(biāo)準(zhǔn)項目。

測試過程

第一步:對要執(zhí)行測試的產(chǎn)品/項目進(jìn)行分析,確定測試策略,制定測試計劃。該計劃被審核批準(zhǔn)后轉(zhuǎn)向第二步。測試工作啟動前一定要確定正確的測試策略和指導(dǎo)方針,這些是后期開展工作的基礎(chǔ)。只有將本次的測試目標(biāo)和要求分析清楚,才能決定測試資源的投入。

第二步:設(shè)計測試用例。設(shè)計測試用例要根據(jù)測試需求和測試策略來進(jìn)行,進(jìn)度壓力不大時,應(yīng)該設(shè)計的詳細(xì),如果進(jìn)度、成本壓力較大,則應(yīng)該保證測試用例復(fù)蓋到關(guān)鍵性的測試需求。該用例被批準(zhǔn)后轉(zhuǎn)向第三步。

第三步:如果滿足“啟動準(zhǔn)則”(EntryCriteria),那么執(zhí)行測試。執(zhí)行測試主要是搭建測試環(huán)境,執(zhí)行測試用例。執(zhí)行測試時要進(jìn)行進(jìn)度控制、項目協(xié)調(diào)等工作。

第四步:提交缺陷。這里要進(jìn)行缺陷審核和驗證等工作。

第五步:消除軟件缺陷。通常情況下,開發(fā)經(jīng)理需要審核缺陷,并進(jìn)行缺陷分配。程序員修改自己負(fù)責(zé)的缺陷。在程序員修改完成后,進(jìn)入到回歸測試階段。如果滿足“完成準(zhǔn)則”(ExitCriteria),那么正常結(jié)束測試。

第六步:撰寫測試報告。對測試進(jìn)行分析,總結(jié)本次的經(jīng)驗教訓(xùn),在下一次的工作中改。

軟件測試過程管理,主要包括軟件測試是什么樣的過程,如何評價一個軟件測試過程,如何進(jìn)行配置管理和測試風(fēng)險分析以及測試成本的管理。

心理依據(jù)

軟件測試工程師職業(yè)發(fā)展前景

軟件測試工程師職業(yè)發(fā)展前景

人類行為具有高度目標(biāo)性,確立一個正確的目標(biāo)有著重要的心理學(xué)影響。軟件測試的心理學(xué)問題就是如何擺正測試的兩個目標(biāo)的關(guān)系,使得測試活動更加富有成效。

1.程序測試的過程具有破壞性

每當(dāng)測試一個程序時,人們總希望為程序增加一些價值。利用測試來增加程序的價值,是指通過測試,找出并修改盡可能多的程序缺陷,從而提高程序的可靠性或質(zhì)量。

因此,不要只是為了證明程序能夠正確運行而去測試程序。相反,應(yīng)該一開始就假設(shè)程序中隱藏著錯誤(這種假設(shè)幾乎對所有的程序都成立),然后測試程序,發(fā)現(xiàn)盡可能多的錯誤。

事實上,如果把測試目標(biāo)定位于要證明程序中沒有缺陷,那么就會在潛意識中傾向于實現(xiàn)這個目標(biāo)。也就是說,測試人員會傾向于挑選那些使程序失效的可能性較小的測試數(shù)據(jù)。另一方面,如果把測試目標(biāo)定位于要證明程序中存在缺陷,那么就會選擇一些容易發(fā)現(xiàn)程序缺陷的測試數(shù)據(jù)。而后一種態(tài)度會比前者給程序增加更多的價值。

軟件測試技術(shù)

軟件測試技術(shù)

事實上,如果在測試某個程序段時發(fā)現(xiàn)了可以糾正的缺陷,或者測試最終確定再沒有其他缺陷,則應(yīng)將這次合理設(shè)計并得到有效執(zhí)行的測試稱作是“成功的”。而所謂“不成功的”測試,僅指未能適當(dāng)?shù)貙Τ绦蜻M(jìn)行檢查,未能找出程序中潛藏缺陷的測試。

軟件測試就是證明軟件不存在錯誤的過程”。對幾乎所有的程序而言,甚至是非常小的程序,這個目標(biāo)實際上是無法達(dá)到的。因為即使程序完全實現(xiàn)預(yù)期要求,仍可能包含有缺陷。也就是說,如果程序不按要求工作,它顯然有缺陷,但如果程序做了不要它做的事,它也有缺陷。

心理學(xué)研究告訴我們,當(dāng)人們在干一件已經(jīng)知道是不合適的或不可能做到的事時,往往他們的表現(xiàn)就相當(dāng)糟糕。把程序測試定義為在程序中找出錯誤的過程,就使測試成了可以做到的任務(wù),從而克服了心理上存在的問題。雖然這看起來像是個微妙的文字游戲,但對成功地進(jìn)行軟件測試有很大的影響。

總之,軟件測試更適宜被視為試圖發(fā)現(xiàn)程序中錯誤(假設(shè)其存在)的破壞性的過程。一個成功的測試,通過誘發(fā)程序發(fā)生錯誤,可以在這個方向上促進(jìn)軟件質(zhì)量的改進(jìn)。當(dāng)然最終人們還是要通過軟件測試來建立某種程度的信心:軟件做了其應(yīng)該做的,而沒有做其不應(yīng)該做的。

2.程序員應(yīng)避免測試自己的程序

軟件測試書籍

軟件測試書籍

由開發(fā)人員來測試自己的代碼是一件很不妥當(dāng)?shù)氖虑。開發(fā)和測試生來就是不同的活動。開發(fā)是創(chuàng)造或者建立某種事物的行為,如一個功能模塊或整個系統(tǒng)。而測試的重要目的是證實一個模塊或者一個系統(tǒng)工作不正常。這兩個活動之間有著本質(zhì)的矛盾。一個人不太可能把兩個截然對立的角色都扮演地很好,因此應(yīng)當(dāng)限制開發(fā)人員在測試中的參與,給他們比較合適的任務(wù)是進(jìn)行最底層的測試——單元測試。

當(dāng)一個程序員完成了設(shè)計與編寫程序的建設(shè)性工作后,要一夜之間突然改變他的觀點,設(shè)法對程序形成一個完全否定的態(tài)度,那是非常困難的。所以,大部分程序員都由于不能使自己進(jìn)入必要的精神狀態(tài)(不是抱著要揭露出自己程序中錯誤的態(tài)度),就不能有效的測試自己的程序。除了這個心理學(xué)問題之外,還有一個重要的問題:程序中可能包含由于程序員對問題的敘述或說明的誤解而產(chǎn)生了錯誤。如果是這種情況,當(dāng)程序員測試自己的程序時,往往還會帶著同樣的誤解致使問題難以發(fā)現(xiàn)。

3.程序設(shè)計組織不應(yīng)測試自己的程序

在宏觀意義上,一個程序設(shè)計組織或一個工程項目是個有生命的有機體,它同樣有心理學(xué)問題。在大多數(shù)情況下,人們都以“在給定日期內(nèi),,以一定代價完成程序編制任務(wù)的能力”來衡量程序設(shè)計組織和項目管理人員的。這樣做的理由是時間和成本指標(biāo)便于衡量,而程序的質(zhì)量很難度量。要程序設(shè)計組織在測試自己的程序時持客觀態(tài)度是很困難的,因為如果用正確的定義看待測試,就不大可能按預(yù)定計劃完成測試,也不大可能把耗費的代價限制在要求的范圍以內(nèi)。

軟件生產(chǎn)的三個最重要的因素是:質(zhì)量、進(jìn)度和費用。由于費用和進(jìn)度的限制,要開發(fā)一種高質(zhì)量、快速交付和低成本的軟件產(chǎn)品并不容易。也就是說要同時達(dá)到三個目標(biāo)是困難的。因此在軟件產(chǎn)品的開發(fā)中要權(quán)衡它們之間的關(guān)系,使軟件的特性能滿足用戶的要求,這意味著軟件產(chǎn)品的特性的度量和預(yù)計是必要的。

軟件測試由獨立測試機構(gòu)承擔(dān)有很多好處。獨立測試是指軟件測試工作由在經(jīng)濟上和管理上獨立于開發(fā)機構(gòu)的組織進(jìn)行。獨立測試可以避免軟件開發(fā)者測試自己開發(fā)的軟件,由于心理學(xué)上的問題,軟件開發(fā)者難以客觀、有效的測試自己的軟件,要找出那些因為對問題的誤解而產(chǎn)生的錯誤就更加困難。獨立測試還可以避免軟件開發(fā)機構(gòu)測試自己的軟件,軟件產(chǎn)品的開發(fā)過程受到時間、成本和質(zhì)量三者的制約,在軟件開發(fā)的過程中,當(dāng)時間、成本和質(zhì)量三者發(fā)生矛盾時,質(zhì)量最容易被忽視,如果測試組織與開發(fā)組織來自相同的機構(gòu),測試過程就會面臨來自于開發(fā)組織同一來源的管理方面的壓力,使測試過程受到干擾。

客觀性——對軟件測試和軟件中的錯誤抱著客觀的態(tài)度,這種客觀的態(tài)度可以解決測試中的心理學(xué)問題,既能以揭露軟件中錯誤的態(tài)度工作,也能不受發(fā)現(xiàn)的錯誤的影響。經(jīng)濟上的獨立性使測試有更充分的條件按測試要求去完成。

專業(yè)性——獨立測試作為一種專業(yè)工作,在長期的工作過程中勢必能夠積累大量實踐經(jīng)驗,形成自己的專業(yè)知識。同時軟件測試也是技術(shù)含量很高的工作,需要有專業(yè)隊伍加以研究,并進(jìn)行工程實踐。專業(yè)化分工是提高測試水平、保證測試質(zhì)量、充分發(fā)揮測試效應(yīng)的必然途徑。

權(quán)威性——由于專業(yè)優(yōu)勢,獨立測試工作形成的測試結(jié)果更具信服力,而測試結(jié)果常常和對軟件的質(zhì)量評價聯(lián)系在一起,專業(yè)化的獨立測試機構(gòu)的評價,更客觀、公正和具有權(quán)威性。

資源有保證——獨立測試機構(gòu)的主要任務(wù)是進(jìn)行獨立測試工作,這使得測試工作在經(jīng)費、人力和計劃方面更有保證,不會因為開發(fā)的壓力減少對測試的投入,降低測試的有效性可以避免開發(fā)單位側(cè)重軟件開發(fā)而對測試工作產(chǎn)生不利的影響。

測試內(nèi)容

軟件測試主要工作內(nèi)容是驗證(verification)和確認(rèn)(validation),下面分別給出其概念:

驗證(verification)是保證軟件正確地實現(xiàn)了一些特定功能的一系列活動, 即保證軟件以正確的方式來做了這個事件(Do it right)

1.確定軟件生存周期中的一個給定階段的產(chǎn)品是否達(dá)到前階段確立的需求的過程。

2.程序正確性的形式證明,即采用形式理論證明程序符合設(shè)計規(guī)約規(guī)定的過程。

3.評審、審查、測試、檢查、審計等各類活動,或?qū)δ承╉椞幚怼⒎⻊?wù)或文件等是否和規(guī)定的需求相一致進(jìn)行判斷和提出報告。

確認(rèn)(validation)是一系列的活動和過程,目的是想證實在一個給定的外部環(huán)境中軟件的邏輯正確性。即保證軟件做了你所期望的事情。(Do the right thing)

1.靜態(tài)確認(rèn),不在計算機上實際執(zhí)行程序,通過人工或程序分析來證明軟件的正確性。

2.動態(tài)確認(rèn),通過執(zhí)行程序做分析,測試程序的動態(tài)行為,以證實軟件是否存在問題。

軟件測試的對象不僅僅是程序測試,軟件測試應(yīng)該包括整個軟件開發(fā)期間各個階段所產(chǎn)生的文檔,如需求規(guī)格說明、概要設(shè)計文檔、詳細(xì)設(shè)計文檔,當(dāng)然軟件測試的主要對象還是源程序。

測試方法

等價類

1.定義

是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每一個子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例。該方法是一種重要的,常用的黑盒測試用例設(shè)計方法。

2.劃分等價類

等價類是指某個輸入域的子集合。在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的,并合理地假定:測試某等價類的代表值就等于對這一類其它值的測試,因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價類,在每一個等價類中取一個數(shù)據(jù)作為測試的輸入條件就可以用少量代表性的測試數(shù)據(jù)取得較好的測試結(jié)果。等價類劃分可有兩種不同的情況:有效等價類和無效等價類。

1)有效等價類

是指對于程序的規(guī)格說明來說是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合。利用有效等價類可檢驗程序是否實現(xiàn)了規(guī)格說明中所規(guī)定的功能和性能。

2)無效等價類

與有效等價類的定義恰巧相反。無效等價類指對程序的規(guī)格說明是不合理的或無意義的輸入數(shù)據(jù)所構(gòu)成的集合。對于具體的問題,無效等價類至少應(yīng)有一個,也可能有多個。

設(shè)計測試用例時,要同時考慮這兩種等價類。因為軟件不僅要能接收合理的數(shù)據(jù),也要能經(jīng)受意外的考驗,這樣的測試才能確保軟件具有更高的可靠性。

3.劃分等價類的標(biāo)準(zhǔn)

1)完備測試、避免冗余;

2)劃分等價類重要的是:集合的劃分,劃分為互不相交的一組子集,而子集的并是整個集合;

3)并是整個集合:完備性;

4)子集互不相交:保證一種形式的無冗余性;

5)同一類中標(biāo)識(選擇)一個測試用例,同一等價類中,往往處理相同,相同處理映射到"相同的執(zhí)行路徑"。

4.劃分等價類的方法

1)在輸入條件規(guī)定了取值范圍或值的個數(shù)的情況下,則可以確立一個有效等價類和兩個無效等價類。

如:輸入值是學(xué)生成績,范圍是0~100。

2)在輸入條件規(guī)定了輸入值的集合或者規(guī)定了"必須如何"的條件的情況下,可確立一個有效等價類和一個無效等價類。

邊界值

1. 定義:邊界值分析法就是對輸入或輸出的邊界值進(jìn)行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補充,這種情況下,其測試用例來自等價類的邊界。

2. 與等價劃分的區(qū)別

1) 邊界值分析不是從某等價類中隨便挑一個作為代表,而是使這個等價類的每個邊界都要作為測試條件。

2) 邊界值分析不僅考慮輸入條件,還要考慮輸出空間產(chǎn)生的測試情況。

3. 邊界值分析方法的考慮:

長期的測試工作經(jīng)驗告訴我們,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部。因此針對各種邊界情況設(shè)計測試用例,可以查出更多的錯誤。

使用邊界值分析方法設(shè)計測試用例,首先應(yīng)確定邊界情況。通常輸入和輸出等價類的邊界,就是應(yīng)著重測試的邊界情況。應(yīng)當(dāng)選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值作為測試數(shù)據(jù)。

4. 常見的邊界值

1) 對16-bit 的整數(shù)而言 32767 和 -32768 是邊界

2) 屏幕上光標(biāo)在最左上、最右下位置

3) 報表的第一行和最后一行

4) 數(shù)組元素的第一個和最后一個

5) 循環(huán)的第 0 次、第 1 次和倒數(shù)第 2 次、最后一次

5. 邊界值分析

1) 邊界值分析使用與等價類劃分法相同的劃分,只是邊界值分析假定錯誤更多地存在于劃分的邊界上,因此在等價類的邊界上以及兩側(cè)的情況設(shè)計測試用例。

例:測試計算平方根的函數(shù)

--輸入:實數(shù)

--輸出:實數(shù)

--規(guī)格說明:當(dāng)輸入一個0或比0大的數(shù)的時候,返回其正平方根;當(dāng)輸入一個小于0的數(shù)時,顯示錯誤信息"平方根非法-輸入值小于0"并返回0;庫函數(shù)Print-Line可以用來輸出錯誤信息。

詳細(xì)分類

角度細(xì)分

從是否關(guān)心軟件內(nèi)部結(jié)構(gòu)和具體實現(xiàn)的角度劃分(按測試分類)

A.白盒測試

B.黑盒測試

C.灰盒測試

從是否執(zhí)行程序的角度

A.靜態(tài)測試

B.動態(tài)測試。

階段細(xì)分

從軟件開發(fā)的過程按階段劃分有

A.單元測試

B.集成測試

C.確認(rèn)測試

D.系統(tǒng)測試

E.驗收測試

F.回歸測試

G.Alpha測試

H.Beta測試

* 測試過程按4個步驟進(jìn)行,即單元測試、集成測試、確認(rèn)測試和系統(tǒng)測試及發(fā)布測試。

* 開始是單元測試,集中對用源代碼實現(xiàn)的每一個程序單元進(jìn)行測試,檢查各個程序模塊是否正確地實現(xiàn)了規(guī)定的功能。

*集成測試把已測試過的模塊組裝起來,主要對與設(shè)計相關(guān)的軟件體系結(jié)構(gòu)的構(gòu)造進(jìn)行測試。

* 確認(rèn)測試則是要檢查已實現(xiàn)的軟件是否滿足了需求規(guī)格說明中確定了的各種需求,以及軟件配置是否完全、正確。

* 系統(tǒng)測試把已經(jīng)經(jīng)過確認(rèn)的軟件納入實際運行環(huán)境中,與其它系統(tǒng)成份組合在一起進(jìn)行測試。

單元測試 (Unit Testing)

* 單元測試又稱模塊測試,是針對軟件設(shè)計的最小單位 ─ 程序模塊,進(jìn)行正確性檢驗的測試工作。其目的在于發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種差錯。

* 單元測試需要從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計測試用例。多個模塊可以平行地獨立進(jìn)行單元測試。

1. 單元測試的內(nèi)容

* 在單元測試時,測試者需要依據(jù)詳細(xì)設(shè)計說明書和源程序清單,了解該模塊的I/O條件和模塊的邏輯結(jié)構(gòu),主要采用白盒測試的測試用例,輔之以黑盒測試的測試用例,使之對任何合理的輸入和不合理的輸入,都能鑒別和響應(yīng)。

(1) 模塊接口測試

* 在單元測試的開始,應(yīng)對通過被測模塊的數(shù)據(jù)流進(jìn)行測試。測試項目包括:

 調(diào)用本模塊的輸入?yún)?shù)是否正確;

 本模塊調(diào)用子模塊時輸入給子模塊的參數(shù)是否正確;

 全局量的定義在各模塊中是否一致

* 在做內(nèi)外存交換時要考慮:

 文件屬性是否正確;

 OPEN與CLOSE語句是否正確;

 緩沖區(qū)容量與記錄長度是否匹配;

 在進(jìn)行讀寫操作之前是否打開了文件;

 在結(jié)束文件處理時是否關(guān)閉了文件;

 正文書寫/輸入錯誤,

 I/O錯誤是否檢查并做了處理。

(2) 局部數(shù)據(jù)結(jié)構(gòu)測試

* 不正確或不一致的數(shù)據(jù)類型說明

* 使用尚未賦值或尚未初始化的變量

* 錯誤的初始值或錯誤的缺省值

* 變量名拼寫錯或書寫錯

* 不一致的數(shù)據(jù)類型

* 全局?jǐn)?shù)據(jù)對模塊的影響

(3) 路徑測試

* 選擇適當(dāng)?shù)臏y試用例,對模塊中重要的執(zhí)行路徑進(jìn)行測試。

* 應(yīng)當(dāng)設(shè)計測試用例查找由于錯誤的計算、不正確的比較或不正常的控制流而導(dǎo)致的錯誤。

* 對基本執(zhí)行路徑和循環(huán)進(jìn)行測試可以發(fā)現(xiàn)大量的路徑錯誤。

(4) 錯誤處理測試

* 出錯的描述是否難以理解

* 出錯的描述是否能夠?qū)﹀e誤定位

* 顯示的錯誤與實際的錯誤是否相符

* 對錯誤條件的處理正確與否

* 在對錯誤進(jìn)行處理之前,錯誤條件是否已經(jīng)引起系統(tǒng)的干預(yù)等

(5) 邊界測試

* 注意數(shù)據(jù)流、控制流中剛好等于、大于或小于確定的比較值時出錯的可能性。對這些地方要仔細(xì)地選擇測試用例,認(rèn)真加以測試。

* 如果對模塊運行時間有要求的話,還要專門進(jìn)行關(guān)鍵路徑測試,以確定最壞情況下和平均意義下影響模塊運行時間的因素。

2. 單元測試的步驟

* 模塊并不是一個獨立的程序,在考慮測試模塊時,同時要考慮它和外界的聯(lián)系,用一些輔助模塊去模擬與被測模塊相聯(lián)系的其它模塊。

 驅(qū)動模塊 (driver)

 樁模塊 (stub) ── 存根模塊

* 如果一個模塊要完成多種功能,可以將這個模塊看成由幾個小程序組成。必須對其中的每個小程序先進(jìn)行單元測試要做的工作,對關(guān)鍵模塊還要做性能測試。

* 對支持某些標(biāo)準(zhǔn)規(guī)程的程序,更要著手進(jìn)行互聯(lián)測試。有人把這種情況特別稱為模塊測試,以區(qū)別單元測試。

集成測試(Integrated Testing)

* 集成測試 (組裝測試、聯(lián)合測試)

* 通常,在單元測試的基礎(chǔ)上,需要將所有模塊按照設(shè)計要求組裝成為系統(tǒng)。這時需要考慮的問題是:

 在把各個模塊連接起來的時候,穿越模塊接口的數(shù)據(jù)是否會丟失;

 一個模塊的功能是否會對另一個模塊的功能產(chǎn)生不利的影響

 各個子功能組合起來,能否達(dá)到預(yù)期要求的父功能;

 全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有問題;

 單個模塊的誤差累積起來,是否會放大,從而達(dá)到不能接受的程度。

在單元測試的同時可進(jìn)行集成測試,

發(fā)現(xiàn)并排除在模塊連接中可能出現(xiàn)

的問題,最終構(gòu)成要求的軟件系統(tǒng)。

* 子系統(tǒng)的集成測試特別稱為部件測試,它所做的工作是要找出集成后的子系統(tǒng)與系統(tǒng)需求規(guī)格說明之間的不一致。

* 通常,把模塊集成成為系統(tǒng)的方式有兩種

 一次性集成方式

 增殖式集成方式

1. 一次性集成方式(big bang)

* 它是一種非增殖式組裝方式。也叫做整體拼裝。

* 使用這種方式,首先對每個模塊分別進(jìn)行模塊測試,然后再把所有模塊組裝在一起進(jìn)行測試,最終得到要求的軟件系統(tǒng)。

2. 增殖式集成方式

* 這種集成方式又稱漸增式集成

* 首先對一個個模塊進(jìn)行模塊測試,然后將這些模塊逐步組裝成較大的系統(tǒng)

* 在集成的過程中邊連接邊測試,以發(fā)現(xiàn)連接過程中產(chǎn)生的問題

* 通過增殖逐步組裝成為要求的軟件系統(tǒng)。

(1) 自頂向下的增殖方式

* 這種集成方式將模塊按系統(tǒng)程序結(jié)構(gòu),沿控制層次自頂向下進(jìn)行組裝。

* 自頂向下的增殖方式在測試過程中較早地驗證了主要的控制和判斷點。

* 選用按深度方向組裝的方式,可以首先實現(xiàn)和驗證一個完整的軟件功能。

(2) 自底向上的增殖方式

* 這種集成的方式是從程序模塊結(jié)構(gòu)的最底層的模塊開始集成和測試。

* 因為模塊是自底向上進(jìn)行組裝,對于一個給定層次的模塊,它的子模塊(包括子模塊的所有下屬模塊)已經(jīng)組裝并測試完成,所以不再需要樁模塊。在模塊的測試過程中需要從子模塊得到的信息可以直接運行子模塊得到。

* 自頂向下增殖的方式和自底向上增殖的方式各有優(yōu)缺點。

* 一般來講,一種方式的優(yōu)點是另一種方式的缺點。

(3) 混合增殖式測試

* 衍變的自頂向下的增殖測試

 首先對輸入/輸出模塊和引入新算法模塊進(jìn)行測試;

 再自底向上組裝成為功能相當(dāng)完整且相對獨立的子系統(tǒng);

 然后由主模塊開始自頂向下進(jìn)行增殖測試。

* 自底向上-自頂向下的增殖測試

 首先對含讀操作的子系統(tǒng)自底向上直至根結(jié)點模塊進(jìn)行組裝和測試;

 然后對含寫操作的子系統(tǒng)做自頂向下的組裝與測試。

* 回歸測試

 這種方式采取自頂向下的方式測試被修改的模塊及其子模塊;

 然后將這一部分視為子系統(tǒng),再自底向上測試。

關(guān)鍵模塊問題

* 在組裝測試時,應(yīng)當(dāng)確定關(guān)鍵模塊,對這些關(guān)鍵模塊及早進(jìn)行測試。

* 關(guān)鍵模塊的特征:

① 滿足某些軟件需求

② 在程序的模塊結(jié)構(gòu)中位于較高的層次(高層控制模塊)

③ 較復(fù)雜、較易發(fā)生錯誤

④ 有明確定義的性能要求。

確認(rèn)測試(Validation Testing)

* 確認(rèn)測試又稱有效性測試。任務(wù)是驗證軟件的功能和性能及其它特性是否與用戶的要求一致。

* 對軟件的功能和性能要求在軟件需求規(guī)格說明書中已經(jīng)明確規(guī)定。它包含的信息就是軟件確認(rèn)測試的基礎(chǔ)。

1. 進(jìn)行有效性測試(黑盒測試)

* 有效性測試是在模擬的環(huán)境 (可能就是開發(fā)的環(huán)境) 下,運用黑盒測試的方法,驗證被測軟件是否滿足需求規(guī)格說明書列出的需求。

* 首先制定測試計劃,規(guī)定要做測試的種類。還需要制定一組測試步驟,描述具體的測試用例。

* 通過實施預(yù)定的測試計劃和測試步驟,確定

 軟件的特性是否與需求相符;

 所有的文檔都是正確且便于使用;

 同時,對其它軟件需求,例如可移植性、兼容性、出錯自動恢復(fù)、可維護(hù)性等,也都要進(jìn)行測試

* 在全部軟件測試的測試用例運行完后,所有的測試結(jié)果可以分為兩類:

 測試結(jié)果與預(yù)期的結(jié)果相符。這說明軟件的這部分功能或性能特征與需求規(guī)格說明書相符合,從而這部分程序被接受。

 測試結(jié)果與預(yù)期的結(jié)果不符。這說明軟件的這部分功能或性能特征與需求規(guī)格說明不一致,因此要為它提交一份問題報告。

2. 軟件配置復(fù)查

n 軟件配置復(fù)查的目的是保證

u 軟件配置的所有成分都齊全;

u 各方面的質(zhì)量都符合要求;

u 具有維護(hù)階段所必需的細(xì)節(jié);

u 而且已經(jīng)編排好分類的目錄。

n 應(yīng)當(dāng)嚴(yán)格遵守用戶手冊和操作手冊中規(guī)定的使用步驟,以便檢查這些文檔資料的完整性和正確性。

系統(tǒng)測試(System Testing)

* 系統(tǒng)測試,是將通過確認(rèn)測試的軟件,作為整個基于計算機系統(tǒng)的一個元素,與計算機硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其它系統(tǒng)元素結(jié)合在一起,在實際運行環(huán)境下,對計算機系統(tǒng)進(jìn)行一系列的組裝測試和確認(rèn)測試。

* 系統(tǒng)測試的目的在于通過與系統(tǒng)的需求定義作比較, 發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合或與之矛盾的地方。

驗收測試(Acceptance Testing)

* 在通過了系統(tǒng)的有效性測試及軟件配置審查之后,就應(yīng)開始系統(tǒng)的驗收測試。

* 驗收測試是以用戶為主的測試。軟件開發(fā)人員和QA(質(zhì)量保證)人員也應(yīng)參加。

* 由用戶參加設(shè)計測試用例,使用生產(chǎn)中的實際數(shù)據(jù)進(jìn)行測試。

* 在測試過程中,除了考慮軟件的功能和性能外,還應(yīng)對軟件的可移植性、兼容性、可維護(hù)性、錯誤的恢復(fù)功能等進(jìn)行確認(rèn)。

*確認(rèn)測試應(yīng)交付的文檔有:

 確認(rèn)測試分析報告

 最終的用戶手冊和操作手冊

 項目開發(fā)總結(jié)報告。

測試流程

1、制定測試計劃

2、編輯測試用例

3、執(zhí)行測試用例

4、發(fā)現(xiàn)并提交BUG

5、開發(fā)組修正BUG

6、對已修正BUG進(jìn)行返測

7、修正完成的BUG將狀態(tài)置為已關(guān)閉,未正確修正的BUG重新激活

測試階段

單元測試

單元測試是對軟件組成單元進(jìn)行測試,其目的是檢驗軟件基本組成單位的正確性,測試的對象是軟件設(shè)計的最小單位:模塊。

集成測試

集成測試也稱聯(lián)合測試,將程序模塊采用適當(dāng)?shù)募刹呗越M裝起來,對系統(tǒng)的接口及集成后的功能進(jìn)行正確性檢測的測試工作。其主要目的是檢查軟件單位之間的接口是否正確,集成測試的對象是已經(jīng)經(jīng)過單元測試的模塊。

系統(tǒng)測試

系統(tǒng)測試

主要包括功能測試、界面測試、可靠性測試、易用性測試、性能測試。 功能測試主要針對包括功能可用性、功能實現(xiàn)程度(功能流程&業(yè)務(wù)流程、數(shù)據(jù)處理&業(yè)務(wù)數(shù)據(jù)處理)方面測試。

回歸測試

回歸測試指在軟件維護(hù)階段,為了檢測代碼修改而引入的錯誤所進(jìn)行的測試活動;貧w測試是軟件維護(hù)階段的重要工作,有研究表明,回歸測試帶來的耗費占軟件生命周期的1/3總費用以上。

與普通的測試不同,在回歸測試過程開始的時候,測試者有一個完整的測試用例集可供使用,因此,如何根據(jù)代碼的修改情況對已有測試用例集進(jìn)行有效的復(fù)用是回歸測試研究的重要方向,此外,回歸測試的研究方向還涉及自動化工具,面向?qū)ο蠡貧w測試,測試用例優(yōu)先級,回歸測試用例補充生成等。

測試模型

V模型

測試階段:

單元測試

集成測試

系統(tǒng)測試

實現(xiàn)意義

V模型是軟件開發(fā)瀑布模型的變種,它反映了測試活動與分析和設(shè)計的關(guān)系 。

從左到右,描述了基本的開發(fā)過程和測試行為,非常明確地標(biāo)明了測試過程中存在的不同級別,并且清楚地描述了這些測試階段和開發(fā)過程期間各階段的對應(yīng)關(guān)系 。

左邊依次下降的是開發(fā)過程各階段,與此相對應(yīng)的是右邊依次上升的部分,即各測試過程的各個階段。

用戶需求 驗收測試

需求分析和系統(tǒng)設(shè)計 確認(rèn)測試和系統(tǒng)測試

概要設(shè)計 集成測試

詳細(xì)設(shè)計 單元測試

編碼

軟件測試V模型

軟件測試V模型

V模型問題

1.測試是開發(fā)之后的一個階段。

2.測試的對象就是程序本身。

3.實際應(yīng)用中容易導(dǎo)致需求階段的錯誤一直到最后系統(tǒng)測試階段才被發(fā)現(xiàn)。

4.整個軟件產(chǎn)品的過程質(zhì)量保證完全依賴于開發(fā)人員的能力和對工作的責(zé)任心,而且上一步的結(jié)果必須是充分和正確的,如果任何一個環(huán)節(jié)出了問題,則必將嚴(yán)重的影響整個工程的質(zhì)量和預(yù)期進(jìn)度

W模型

W模型由Evolutif公司公司提出,相對于V模型,W模型增加了軟件各開發(fā)階段中應(yīng)同步進(jìn)行的驗證和確認(rèn)活動。W模型由兩個V字型模型組成,分別代表測試與開發(fā)過程,圖中明確表示出了測試與開發(fā)的并行關(guān)系。 W模型強調(diào):測試伴隨著整個軟件開發(fā)周期,而且測試的對象不僅僅是程序,需求、設(shè)計等同樣要測試,也就是說,測試與開發(fā)是同步進(jìn)行的。W模型有利于盡早地全面的發(fā)現(xiàn)問題。例如,需求分析完成后,測試人員就應(yīng)該參與到對需求的驗證和確認(rèn)活動中,以盡早地找出缺陷所在。同時,對需求的測試也有利于及時了解項目難度和測試風(fēng)險,及早制定應(yīng)對措施,這將顯著減少總體測試時間,加快項目進(jìn)度。 但W模型也存在局限性。在W模型中,需求、設(shè)計、編碼等活動被視為串行的,同時,測試和開發(fā)活動也保持著一種線性的前后關(guān)系,上一階段完全結(jié)束,才可正式開始下一個階段工作。這樣就無法支持迭代的開發(fā)模型。對于當(dāng)前軟件開發(fā)復(fù)雜多變的情況,W模型并不能解除測試管理面臨著困惑。

軟件測試

軟件測試

H模型

H模型中, 軟件測試過程活動完全獨立,貫穿于整個產(chǎn)品的周期,與其他流程并發(fā)地進(jìn)行,某個測試點準(zhǔn)備就緒時,就可以從測試準(zhǔn)備階段進(jìn)行到測試執(zhí)行階段。軟件測試可以盡早的進(jìn)行,并且可以根據(jù)被測物的不同而分層次進(jìn)行。

軟件測試

軟件測試

這個示意圖演示了在整個生產(chǎn)周期中某個層次上的一次測試“微循環(huán)”。圖中標(biāo)注的其它流程可以是任意的開發(fā)流程,例如設(shè)計流程或者編碼流程。也就是說, 只要測試條件成熟了,測試準(zhǔn)備活動完成了,測試執(zhí)行活動就可以進(jìn)行了。

H模型揭示了一個原理:軟件測試是一個獨立的流程,貫穿產(chǎn)品整個生命周期,與其他流程并發(fā)地進(jìn)行。H模型指出軟件測試要盡早準(zhǔn)備, 盡早執(zhí)行。不同的測試活動可以是按照某個次序先后進(jìn)行的,但也可能是反復(fù)的,只要某個測試達(dá)到準(zhǔn)備就緒點,測試執(zhí)行活動就可以開展。

X模型

X模型也是對V模型的改進(jìn),X模型提出針對單獨的程序片段進(jìn)行相互分離的編碼和測試,此后通過頻繁的交接,通過集成最終合成為可執(zhí)行的程序。X模型的左邊描述的是針對單獨程序片段所進(jìn)行的相互分離的編碼和測試,此后將進(jìn)行頻繁的交接,通過集成最終成為可執(zhí)行的程序,然后再對這些可執(zhí)行程序進(jìn)行測試。己通過集成測試的成品可以進(jìn)行封裝并提交給用戶,也可以作為更大規(guī)模和范圍內(nèi)集成的一部分。多根并行的曲線表示變更可以在各個部分發(fā)生。由圖中可見,X模型還定位了探索性測試,這是不進(jìn)行事先計劃的特殊類型的測試,這一方式往往能幫助有經(jīng)驗的測試人員在測試計劃之外發(fā)現(xiàn)更多的軟件錯誤。但這樣可能對測試造成人力、物力和財力的浪費,對測試員的熟練程度要求比較高。

軟件測試

軟件測試

現(xiàn)狀前景

現(xiàn)狀

軟件開發(fā)中出現(xiàn)錯誤或缺陷的機會越來越多,市場對軟件質(zhì)量重要性的認(rèn)識逐漸增強。所以,軟件測試在軟件項目實施過程中的重要性日益突出。但是,現(xiàn)實情況是,與軟件編程比較,軟件測試的地位和作用,還沒有真正受到重視,對于很多人(甚至是軟件項目組的技術(shù)人員)還存在對軟件測試的認(rèn)識誤區(qū),這進(jìn)一步影響了軟件測試活動開展和真正提高軟件測試質(zhì)量。

(1)誤區(qū)之一:軟件開發(fā)完成后進(jìn)行軟件測試

人們一般認(rèn)為,軟件項目要經(jīng)過以下幾個階段:需求分析,概要設(shè)計,詳細(xì)設(shè)計,軟件編碼,軟件測試,軟件發(fā)布。據(jù)此,認(rèn)為軟件測試只是軟件編碼后的一個過程。這是不了解軟件測試周期的錯誤認(rèn)識。軟件測試是一個系列過程活動,包括軟件測試需求分析,測試計劃設(shè)計,測試用例設(shè)計,執(zhí)行測試。因此,軟件測試貫穿于軟件項目的整個生命過程。在軟件項目的每一個階段都要進(jìn)行不同目的和內(nèi)容的測試活動,以保證各個階段的正確性。軟件測試的對象不僅僅是軟件代碼,還包括軟件需求文檔和設(shè)計文檔。軟件開發(fā)與軟件測試應(yīng)該是交互進(jìn)行的,例如,單元編碼需要單元測試,模塊組合階段需要集成測試。如果等到軟件編碼結(jié)束后才進(jìn)行測試,那么,測試的時間將會很短,測試的復(fù)蓋面將很不全面,測試的效果也將大打折扣。更嚴(yán)重的是如果此時發(fā)現(xiàn)了軟件需求階段或概要設(shè)計階段的錯誤,如果要修復(fù)該類錯誤,將會耗費大量的時間和人力。

(2)誤區(qū)之二:軟件發(fā)布后如果發(fā)現(xiàn)質(zhì)量問題,那是軟件測試人員的錯

這種認(rèn)識很打擊軟件測試人員的積極性。軟件中的錯誤可能來自軟件項目中的各個過程,軟件測試只能確認(rèn)軟件存在錯誤,不能保證軟件沒有錯誤,因為從根本上講,軟件測試不可能發(fā)現(xiàn)全部的錯誤。從軟件開發(fā)的角度看,軟件的高質(zhì)量不是軟件測試人員測出來的,是靠軟件生命周期的各個過程中設(shè)計出來的。出現(xiàn)軟件錯誤,不能簡單地歸結(jié)為某一個人的責(zé)任,有些錯誤的產(chǎn)生可能不是技術(shù)原因,可能來自于混亂的項目管理。應(yīng)該分析軟件項目的各個過程,從過程改進(jìn)方面尋找產(chǎn)生錯誤的原因和改進(jìn)的措施。

(3)誤區(qū)之三:軟件測試要求不高,隨便找個人做都行

很多人都認(rèn)為軟件測試就是安裝和運行程序,點點鼠標(biāo),按按鍵盤的工作。這是由于不了解軟件測試的具體技術(shù)和方法造成的。隨之軟件工程學(xué)的發(fā)展和軟件項目管理經(jīng)驗的提高,軟件測試已經(jīng)形成了一個獨立的技術(shù)學(xué)科,演變成一個具有巨大市場需求的行業(yè)。軟件測試技術(shù)不斷更新和完善,新工具,新流程,新測試設(shè)計方法都在不斷更新,需要掌握和學(xué)習(xí)很多測試知識。所以,具有編程經(jīng)驗的程序員不一定是一名優(yōu)秀的測試工程師。軟件測試包括測試技術(shù)和管理兩個方面,完全掌握這兩個方面的內(nèi)容,需要很多測試實踐經(jīng)驗和不斷學(xué)習(xí)精神。

(4)誤區(qū)之四:軟件測試是測試人員的事情,與程序員無關(guān)

開發(fā)和測試是相輔相成的過程,需要軟件測試人員、程序員和系統(tǒng)分析師等保持密切的聯(lián)系,需要更多的交流和協(xié)調(diào),以便提高測試效率。另外,對于單元測試主要應(yīng)該由程序員完成,必要時測試人員可以幫助設(shè)計測試樣例。對于測試中發(fā)現(xiàn)的軟件錯誤,很多需要程序員通過修改編碼才能修復(fù)。程序員可以通過有目的的分析軟件錯誤的類型、數(shù)量,找出產(chǎn)生錯誤的位置和原因,以便在今后的編程中避免同樣的錯誤,積累編程經(jīng)驗,提高編程能力。

(5)誤區(qū)之五:項目進(jìn)度吃緊時少做些測試,時間富裕時多做測試

這是不重視軟件測試的表現(xiàn),也是軟件項目過程管理混亂的表現(xiàn),必然會降低軟件測試的質(zhì)量。一個軟件項目的順利實現(xiàn)需要有合理的項目進(jìn)度計劃,其中包括合理的測試計劃,對項目實施過程中的任何問題,都要有風(fēng)險分析和相應(yīng)的對策,不要因為開發(fā)進(jìn)度的延期而簡單的縮短測試時間、人力和資源。因為縮短測試時間帶來的測試不完整,對項目質(zhì)量的下降引起的潛在風(fēng)險,往往造成更大的浪費?朔@種現(xiàn)象的最好辦法是加強軟件過程的計劃和控制,包括軟件測試計劃、測試設(shè)計、測試執(zhí)行、測試度量和測試控制。

前景

隨著軟件產(chǎn)業(yè)的發(fā)展,軟件產(chǎn)品的質(zhì)量控制與質(zhì)量管理正逐漸成為軟件企業(yè)生存與發(fā)展的核心。幾乎每個大中型IT企業(yè)的軟件產(chǎn)品在發(fā)布前都需要大量的質(zhì)量控制、測試和文檔工作,而這些工作必須依靠擁有嫻熟技術(shù)的專業(yè)軟件人才來完成。軟件測試工程師就是這樣的一個企業(yè)重頭角色。業(yè)內(nèi)人士分析,該類職位的需求主要集中在沿海發(fā)達(dá)城市,其中北京和上海的需求量分別占去33%和29%。民企需求量最大,占19%,外商獨資歐美類企業(yè)需求排列第二,占15%。然而,現(xiàn)狀是:一方面企業(yè)對高質(zhì)量的測試工程師需求量越來越大越大,另一方面國內(nèi)原來對測試工程師的職業(yè)重視程度不夠,使許多人不了解測試工程師具體是從事什么工作。這使得許多IT公司只能通過在實際工作中進(jìn)行淘汰的方式對測試工程師進(jìn)行篩選,因此國內(nèi)在短期將出現(xiàn)測試工程師嚴(yán)重短缺的現(xiàn)象。根據(jù)對網(wǎng)絡(luò)招聘IT人才情況的了解,許多正在招聘軟件測試工程師的企業(yè)很少能夠在招聘會上順利招到合適的人才。在具體工作過程中,測試工程師的工作是利用測試工具按照測試方案和流程對產(chǎn)品進(jìn)行功能和性能測試,甚至根據(jù)需要編寫不同的測試用例,設(shè)計和維護(hù)測試系統(tǒng),對測試方案可能出現(xiàn)的問題進(jìn)行分析和評估。對軟件測試工程師而言,必須具有高度的工作責(zé)任心和自信心。任何嚴(yán)格的測試必須是一種實事求是的測試,因為它關(guān)系到一個產(chǎn)品的質(zhì)量問題,而測試工程師則是產(chǎn)品出貨前的把關(guān)人,所以,沒有專業(yè)的技術(shù)水準(zhǔn)是無法勝任這項工作的。同時,由于測試工作一般由多個測試工程師共同完成,并且測試部門一般要與其他部門的人員進(jìn)行較多的溝通,所以要求測試工程師不但要有較強的技術(shù)能力而且要有較強的溝通能力。

涉及問題

程序測試的過程具有破壞性

人類的活動具有高度的目的性,建立適當(dāng)?shù)哪繕?biāo)具有重要的心理作用。如果我們的目的是要證明程序中沒有錯誤,那我們就會不自覺地朝這個方向去做;也就是說,我們會傾向于挑選那些使程序出錯的可能性較小的測試數(shù)據(jù)。另一方面,如果我們的目標(biāo)是要證明程序中有錯,那就會選擇一些易于發(fā)現(xiàn)程序所含錯誤的測試數(shù)據(jù)。而后一種態(tài)度會比前者給程序增添更多的價值。

日常工作

熟悉軟件測試流程,有智能產(chǎn)品/網(wǎng)絡(luò)應(yīng)用經(jīng)驗者優(yōu)先考慮;

熟悉軟件測試理論和方法,能夠熟練應(yīng)用多種測試工具;

熟悉 C/C++/C#/Java編程, 有網(wǎng)絡(luò)協(xié)議測試經(jīng)驗;

有較強的邏輯分析能力和學(xué)習(xí)能力,具備較強的總結(jié)能力;

熱愛軟件測試工作,可以勝任重復(fù)性工作。

編寫用例

軟件測試員是指根據(jù)測試計劃和測試方案進(jìn)行軟件測試;能夠針對軟件需求開發(fā)測試模型,制定測試方案,安排測試計劃,并對測試項目進(jìn)行管理的專業(yè)人員。每一階段的測試都是為了減少軟件的bug和提升軟件的功能需求,所以測試人員必須具備良好的編程功底。

專業(yè)優(yōu)勢

就業(yè)競爭小

人才供不應(yīng)求讓軟件測試人員的就業(yè)競爭壓力明顯小于同類其它職業(yè),有利于從業(yè)者的身心健康。另外,由于軟件測試在我國起步較晚,獨立設(shè)置測試部門、對測試人員有強烈需求的多為獨具慧眼的大中型IT企業(yè)。軟件測試人才不需要在小企業(yè)積累經(jīng)驗就能獲得知名企業(yè)的入門通行證,工作起點高于同類其它職業(yè)。

高薪

剛?cè)胄械?strong>軟件測試人員,起步的月薪就在3000-5000元左右,遠(yuǎn)高于同齡人2000元的薪資水平,隨著工作經(jīng)驗的豐富以及能力的提升,這份薪水將一路看漲。

就業(yè)質(zhì)量高

與其他IT職位相比,軟件測試人員最大的優(yōu)勢就是發(fā)展方向太多了。由于工作的特殊性,測試人員不但需要對軟件的質(zhì)量進(jìn)行檢測,而且對于軟件項目的立項、管理、售前、售后等領(lǐng)域都要涉及。在此過程中,測試人員不僅提升了專業(yè)的軟件測試技能,還能接觸到各行各業(yè),從而為自己的多元化發(fā)展奠定了基礎(chǔ)。

無性別歧視

如果把軟件開發(fā)領(lǐng)域比作“男子單打”,那么,軟件測試領(lǐng)域就是“混合雙打”。由于工作的特殊性,軟件測試人員更要具有認(rèn)真、耐心、細(xì)致、敏感等個性元素,而這在一定程度上與女性的個性氣質(zhì)相吻合。據(jù)了解,很多IT企業(yè)中軟件測試人員的比例更趨向男女平衡,甚至出現(xiàn)女性員工成主流的情況。

學(xué)習(xí)方法

1自學(xué),去相關(guān)網(wǎng)站學(xué)習(xí)基礎(chǔ)的計算機語言,收集軟件測試教程學(xué)習(xí)。

2參加培訓(xùn)機構(gòu)進(jìn)行專業(yè)的培訓(xùn)與實踐。

點擊加載更多

加載中...

帝國法老創(chuàng)建, 婚紗的魅惑、天熱了、丫頭0416、koreamusic、互動凝淵等參與編輯。
互動百科的詞條(含所附圖片)系由網(wǎng)友上傳,如果涉嫌侵權(quán),請與客服聯(lián)系,我們將按照法律之相關(guān)規(guī)定及時進(jìn)行處理。如需轉(zhuǎn)載,請注明來源于。


  本文關(guān)鍵詞:軟件測試,由筆耕文化傳播整理發(fā)布。



本文編號:260381

資料下載
論文發(fā)表

本文鏈接:http://www.sikaile.net/wenshubaike/mishujinen/260381.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶798ea***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com