前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的軟件測試項目總結主題范文,僅供參考,歡迎閱讀并收藏。
關鍵詞:嵌入式軟件;GJB2725A;軟件測試;過程模型
0 引言
隨著信息化軍事技術的不斷深入,嵌入式軟件已在航空武器裝備軟件中得到了廣泛的應用,相應的,對其進行軟件測試的要求也越來越重要。目前,大部分軟件測試項目主要由事件驅動完成,存在流程不清晰、被動性高、效率低下等問題,影響了測試質量,其嚴重后果就是沒有及時發(fā)現軟件產品缺陷,導致產品失效。
總裝備部于2001年了GJB2725A《測試實驗室和校準實驗室通用要求》[1],其目的就是為了指導軟件測試活動,提高軟件測試過程管控能力。因此提出了一種嵌入式軟件測試過程模型,該模型能夠依據軍標,以流程驅動的方式對軟件測試進行全過程管控,具有很好的工程應用價值,提高了研制效率。
1 嵌入式軟件測試過程模型
在型號軟件研制中,測試是一項復雜而繁瑣的工作,是一門綜合性學科,涉及技術、方法、資源以及管理等諸多方面[2],現有流行軟件測試模型,如V模型、W模型和H模型[3],并不能完全適用于實際測試工作,而應由研制單位牽頭,建立本地化的軟件測試過程模型。
根據工程經驗,將嵌入式軟件測試過程劃分為5個階段,即測試需求分析、測試策劃、測試設計與實現、測試執(zhí)行和測試總結,每個階段實現不同的測試活動,前一個階段是后一個階段的輸入,后一個階段是前一個階段的驗證,以流程為驅動力,逐步實現所有活動,通過不斷地對流程再優(yōu)化,實現模型的持續(xù)改進[4],逐步趨近實際工程應用。
1.1 測試需求分析
該階段的輸入為軟件測評合同或軟件研制任務書,以明確被測項目的范圍、目標、約束及要求。
同時,確定需要完成的測試類型,如功能測試、性能測試、邊界測試、接口測試、可靠性測試等,并明確每一個測試類型的具體要求,例如:
1)功能測試:每一個軟件測試項輸入的每一個正常等價類和異常等價類都至少被一個用例覆蓋;
2)性能測試:對軟件的精度、時間和適應性進行測試,以確認是否符合規(guī)定的性能要求;
3)接口測試:測試所有外部接口,每一個外部輸入/輸出接口應進行正常和異常情況測試。
確定測試類型后,可制定測試策略,包括白盒和黑盒測試,并對具有特殊要求的被測項進行具體描述。同時,確定測試充分性和終止要求,避免項目無法結束。
測試需求分析最重要的工作就是依據軟件設計文檔,確定測試的顯性需求和隱形需求,并分解為測試項,為后續(xù)測試用例提供設計依據,本階段的輸出為《軟件測試需求規(guī)格說明》。
1.2 測試策劃
本階段在測試需求分析的基礎上,完成如下工作:
1)確定測試技術,如等價類劃分法、邊界值分析法和猜錯法等;
2)明確定性評價準則,包括文檔、設計和實現等方面;
3)數據采集要求,主要指被測軟件、用例、缺陷和管理數據等;
4)制定軟件測試環(huán)境,包括軟/硬件環(huán)境,確保測試順利開展;
5)明確測試人員的角色與職責,合理分工,確保進度;
6)根據要求進行風險分析,如技術、人員和資源風險,并制定措施。
本階段的輸出為《軟件測試計劃》。
1.3 測試設計與實現
本階段的主要內容就是依據測試需求,設計測試用例,單元、部件測試采用“先功能后邏輯”的測試策略,即先滿足基于功能的測試(功能測試覆蓋100%),再滿足基于邏輯的測試(語句、分支、調用覆蓋率100%),配置項、系統(tǒng)測試采用基于功能的測試策略,測試用例主要包括名稱、標識、初始化、前提和約束、輸入、預期輸出、通過準則、追蹤關系、終止條件、用例類型和設計人員等信息,本階段的輸出為《軟件測試說明》。
1.4 測試執(zhí)行
本階段的主要內容就是在實際測試環(huán)境下執(zhí)行測試用例,記錄測試結果,將期望結果與實測結果進行比對,如不一致,則進行深入分析,確認為軟件缺陷,則填寫軟件問題報告單,本階段的輸出為《軟件測試記錄》和《軟件問題報告單》。
1.5 測試總結
本階段的主要內容就是依據測試結果,統(tǒng)計與分析測試數據,包括用例執(zhí)行率、用例通過率、代碼缺陷率、功能覆蓋率等指標,進而對被測軟件產品做出客觀、公正、獨立的評價,為改進軟件產品質量提供支撐,本階段的輸出為《軟件測試報告》。
2 模型應用
被測軟件為某型嵌入式軟件,要求完成軟件測試,出具測試報告。
2.1 測試需求分析
根據測試要求,定義被測項目的范圍、目標、約束及要求。
范圍:單元、部件和配置項測試。
目標:單元測試完成語句、分支100%覆蓋,部件測試完成調用100%覆蓋,配置測試完成需求100%覆蓋。
策略:單元、部件測試采用白盒測試,配置項測試采用黑盒測試。
測試需求:經分析,單元測試共有272個測試需求,部件測試共有36個測試需求,配置項測試共有16個測試需求,27個測試項。
2.2 測試策劃
軟件測試主要采用等價類劃分法和邊界值分析法進行測試。
2.3 測試設計與實現
依據軟件設計文件設計測試用例,單元測試共設計1869個測試用例,部件測試共設計266個測試用例,配置項測試共設計168個測試用例。
2.4 測試執(zhí)行
經測試,并對測試結果進行分析、確認,共計發(fā)現56個軟件問題,提交設計進行優(yōu)化改進。
2.5 測試總結
測試結果總結如表4所示。
測試用例均能100%覆蓋測試需求,配置項測試的用例執(zhí)行率為95%,其原因是有些硬件環(huán)境不能滿足測試要求,如破壞性測試,單元和配置項測試的用例通過率均不到100%,說明這兩種測試是發(fā)現軟件缺陷的重要手段,通過對56個問題的歸零處理,軟件問題得到解決,提高了軟件產品的質量。
3 總結
采用流程驅動式的嵌入式軟件測試過程模型能夠很好的解決測試工程化問題,通過實際運用,提高了測試管控能力,確保了測試充分性,發(fā)現了軟件問題,提高了軟件的質量和可靠性。
參考文獻:
[1] 閆宇華,李誼,黃寧等.GJB 2725A-2001,測試實驗室和校準實驗室通用要求[S].北京:中國人民總裝備部,2001.
[2] 金先仲,任宏光,李建軍等.空空導彈研制系統(tǒng)工程管理[M].北京:國防工業(yè)出版社,2007.
關鍵詞:市場需求;軟件測試;課程體系
中圖分類號:G64文獻標識碼:A文章編號:1009-3044(2012)14-3353-02
Course System Research of Software Testing Technology Based on Demand of Talent Market
ZHENG Hao, LIU Jian-fang
(Pingdingshan University, Pingdingshan 467000, China)
Abstract: This paper analyze the actual needs of talent market at first, and then set up the Curriculum system based on the software testing theory and technology. Paying more attention on the application, we want to construct course system to meet the market, which has deep foundation and strong skills. All of these promote the quality of the professional course.
Key words: Market requirement; software testing; Curriculum system
最近的年度軟件測試行業(yè)專項調查報告顯示,社會對軟件測試人才的需求越來越大,可人才市場提供的人力資源、實際能力卻不能滿足這種需求。目前國內對測試人才職業(yè)化培養(yǎng)體系還不夠充分,現行的傳統(tǒng)教育體制重學歷教育,輕職業(yè)技能培訓,導致了軟件測試人才告急。如何結合人才市場的實際需求,構建適合的課程培養(yǎng)體系,成為軟件測試課程改革迫在眉睫的問題。
1中國軟件測試行業(yè)的市場需求分析
在我國,軟件產業(yè)的興起和發(fā)展也就是這短短十幾年。在前面的興起和發(fā)展壯大階段,一般的軟件公司都是重開發(fā)輕測試,甚至存在把測試工作都放在用戶那里去做的錯誤思想;追求眼前功能的實現,開發(fā)軟件追求“短”、“平”、“快”。不太考慮性能和功能的優(yōu)化。軟件測試以往一直被中小IT企業(yè)所忽視,只有一些知名企業(yè)才有專門的軟件測試人員。
現在,更多的國內企業(yè)認識到測試的重要性,但是由于國內測試人才的儲備相對較少,據國家權威部門統(tǒng)計,中國軟件人才缺口超過100萬人,其中很大一部分為軟件測試人才,缺口達到30~40萬。但由于軟件測試的重要性是近幾年才被充分認識到的,高校教育和企業(yè)培養(yǎng)都還沒有跟上,致使軟件測試需求嚴重供不應求。
分析年度軟件測試行業(yè)專項調查報告,目前對測試人員的素質和要求逐步提高,測試人員不僅應掌握相關計算機知識背景、軟件工程基本知識、熟悉項目編程語言、熟悉項目技術架構及需求內容,而且要求工作有責任感、獨立分析能力及團隊精神等方面。其中“動手能力”和“實際經驗”是軟件企業(yè)在招聘軟件測試人員時最為看重的,而這也恰恰是很多求職者的“軟肋”。
2現有軟件測試課程體系存在的問題
2007年,我校軟件學院認證管理中心被授予計算機軟件測試人才培養(yǎng)基地。軟件學院軟件工程專業(yè)以及軟件技術專業(yè)均開設有軟件測試相關課程。由于軟件測試是一門實踐性很強的課程,應采用精講多練的原則開展教學,即學生通過大量的上機實踐,循序漸進地提高自身的軟件測試用例設計、開發(fā)、執(zhí)行能力以及軟件測試的管理能力。但在具體實踐教學組織中,教師普遍感覺有許多不如意的地方,具體存在的問題有:
1)對實踐課程的認識程度和重視程度不夠,軟件測試開展的不夠徹底,測試過程中存在大量的不規(guī)范性;
2)缺乏合適的教材,同時教師缺乏相應的實戰(zhàn)經驗,導致教學上知識結構不合理,教學內容與具體應用脫節(jié),盡管教師都能很好的講解軟件測試理論知識,但卻由于缺乏合適的測試案例,沒有將理論教學內容和最新相關技術結合,使得學生思維局限性大,并沒有真正提高學生自主思考的能力和創(chuàng)造性思維。
3)教學方法和手段因循守舊,學生對軟件測試職業(yè)存在一些片面的,甚至是錯誤的理解。
3基于人才市場需求的《軟件測試技術》課程體系研究
基于人才市場需求的軟件測試技術課程體系研究主要是分析目前人才市場對軟件測試行業(yè)人才的崗位需求,掌握軟件測試人才需要具備的職業(yè)素質,同時調查研究在學生對前續(xù)課程的掌握情況,以及目前所具備的相關職業(yè)素養(yǎng)的程度,計劃從技術、溝通協(xié)調能力、經驗和技能、綜合素質能力等方面分別對崗位需求和學生水平展開調研。
3.1課程體系目標定位
我校軟件工程專業(yè)的培養(yǎng)目標是培養(yǎng)適應社會發(fā)展需求,具有扎實的計算機知識基礎,掌握軟件工程領域的前沿技術和軟件開發(fā)方法,具有較強的軟件實踐能力和創(chuàng)新精神,具備較強的軟件項目的分析、設計、開發(fā)和維護能力,能夠按照工程化的原則和方法從事軟件開發(fā)和管理的應用型人才。
作為該專業(yè)的一門專業(yè)必修課,為構建厚基礎、強技能、注重技術應用的適合應用性人才培養(yǎng)的課程體系。將以軟件技術為基礎,測試理論與技術為核心,進行課程體系設置。理論教學目的是讓學生深刻理解軟件測試思想和基本理論;熟悉多種軟件的測試方法、相關技術和系統(tǒng)地軟件測試過程;會熟練編寫測試計劃,測試用例,測試報告,并熟悉幾種自動化測試工具,從而從工程化角度提高和培養(yǎng)學生從事大型軟件的測試技術和能力。
同時在實踐環(huán)節(jié),要求學生通過實驗學習,培養(yǎng)與提高項目測試過程中采用的主要技術、設計測試用例、編寫測試總結報告等能力,激發(fā)學生創(chuàng)新精神和創(chuàng)新能力,具體應達到下列基本要求。1)使學生掌握分析問題和解決問題的技巧,通過具體實驗使學生掌握常用的黑盒測試技術、白盒測試技術、自動化測試工具。2)讓學生了解測試流程,掌握測試總結報告的編寫。通過實驗使學生理解軟件缺陷的描述,并能結合項目設計出較完善的測試用例。
3)了解Web系統(tǒng)的測試范圍,使學生能在應用場景下聯(lián)系實際和所學知識分析和解決問題,縮短理論和實踐的距離。
3.2課程教學內容選取
結合課程體系目標定位,該課程在教學內容選取上主要是基于人才市場需求,厚基礎、強技能、注重技術應用。總學時共72學時,其中理論和實踐各36學時。結合課堂教學和實踐教學,軟件測試技術課程包括以下幾部分:
1)軟件測試基本理論及方法:包括軟件測試的概念、測試的原則、用例的設計、各種測試方法及技巧,測試策略。同時通過實驗掌握軟件測試的步驟、方法及常見問題的處理。
2)測試流程及文檔寫作:軟件測試流程、各階段的文檔編寫;書寫測試計、測試用例、測試報告、產品安裝手冊、產品使用手冊。在實踐環(huán)節(jié),通過SATM系統(tǒng)讓學生掌握軟件測試流程各個階段的相關技術、測試相關文檔的寫作技巧。
3)系統(tǒng)學習軟件測試的各種工具,包括:自動測試工具WinRunner;壓力測試工具LoadRunner;測試管理工具Testdirector;流程管理工具CVS;JAVA單元測試工具Junit。要求學生掌握自動化測試理論與方法,熟練使用常見測試工具。
4)軟件過程控制與質量保證:軟件質量的概念及軟件質量管理的基本方法;測試項目的范圍管理、人員組織結構、理解測試的配置管理、風險管理、成本管理等。
5)項目實訓:引入具有真實企業(yè)背景的軟件測試案例,充分考慮人才市場的需求,突出強調工學結合的重要性。通過實際項目掌握實際工作中開發(fā)和測試的流程,使用相關工具,完成各種測試目標,實現軟件測試實踐環(huán)節(jié)單項專業(yè)知識與整體技能綜合運用的目標,提高測試能力和積累相關經驗。
3.3課程教學方法設計
為構建厚基礎、強技能、注重技術應用的適合應用性人才培養(yǎng)的課程體系,在教學過程中,需要把技能訓練和職業(yè)素質培養(yǎng)有機結合起來,注重學生綜合能力的培養(yǎng)與提高,突出強調職業(yè)崗位針對性。提高學生綜合運用所學知識發(fā)現問題、分析問題、解決問題的能力,進而培養(yǎng)學生的技術應用和技術創(chuàng)新能力。在教學方法設計上做了一下改進:
1)突出工學結合:在講解基本理論知識的基礎上,引入具有真實背景的軟件測試案例,并結合理論知識講解將案例進行改造,使案例的分析應用與理論知識相呼應。目前市場上IT公司在招聘測試人員時按照所需技能的不同,將測試人員分為三個等級,分別為初級測試工程師、中級測試工程師和高級測試工程師。分析不同等級的要求,在教學過程中,主要針對初級和中級的技能要求循序漸近的展開教學。使通過此教學改進,既彌補了教師缺乏實戰(zhàn)經驗帶來的不足,也使學生能較真實的接觸到實際應用,從一定程度上實現了人才培養(yǎng)與市場需求的接軌。
2)強調團隊合作:在教學過程中實施“1-7”模式,即在實驗課教學中,采用團隊合作的方式,分組完成各項任務。在實驗初期由教師合理分配各團隊成員間的任務,培養(yǎng)學生的基本崗位技能。經過兩個實驗任務的完成,每個團隊挑出一名同學為項目組長,模擬公司招聘的形式,招聘4~6個組員組建自己的團隊。后期實驗任務的分工由團隊組長負責項目進展、分工協(xié)作、制定測試計劃等工作,其他小組成員則按要求完成自己的工作,如編寫測試策略、設計測試用例、撰寫測試報告等,教師主要起引導作用,充分發(fā)揮以學生為主體。為了全面培養(yǎng)學生,在不同的任務中,組員通過角色互換,充分發(fā)揮其溝通能力及綜合技術能力。在學期末,通過團隊評比,以提高平時成績的形式對表現優(yōu)秀的團隊進行獎勵。通過此教學手段,可以培養(yǎng)加強學生面試技巧、溝通能力、團隊意識、競爭意識等職業(yè)素質的培養(yǎng)。
4結束語
基于人才市場需求的《軟件測試技術》課程體系研究定位在對人才市場的實際需求分析之上,針對軟件測試人才的特點要求,把行業(yè)、企業(yè)對人才的要求轉化為教學中的具體目標。構建厚基礎、強技能、注重技術應用的適合應用性人才培養(yǎng)的課程體系。
參考文獻:
[1]朱少民.軟件測試方法和技術[M].北京:清華大學出版社,2010.
[2]古樂.軟件測試案例與實踐教程[M].北京:清華大學出版社,2007.
[3]馬民生,馬友忠,任剛.以就業(yè)為導向的軟件測試實踐課課程改革[J].電腦知識與技術,2010(4):241-242.
[4]劉偉.獨立學院軟件測試課程的教學探索與實踐[J].廣西教育.2009(24):31-33.
關鍵詞:軟件測試;測試的有效性
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)21-30467-03
Assessing the Validity of Software Testing
ZHANG Rui-yue, CHEN Lin
(Wuhan Digital Engineering Institute,Wuhan 430074,China)
Abstract: During the process of software testing , because of various of factor, usually cause some mistakes and invalidation, for the sake of improving testing process, making testing process to become more valid, need to carry on a complement to software testing process , that mean carrying on an evaluation to usefulness of software testing. This article introduce a general process of valuating usefulness of software testing, and put forward a series measuring index to measure of usefulness of software testing accurately.
Key words: software testing; validity of testing
1 引言
如同任何產品離不開質量檢驗一樣,軟件測試是在軟件投入運行前,對軟件需求分析、設計規(guī)格說明和編碼實現的最終審定,在軟件生存期中占據著非常突出的重要位置。在軟件測試過程中,測試人員非常關心之前的測試過程有沒有得到改善,因為如果沒有,那么在下一次又將犯一樣的錯誤,繼續(xù)執(zhí)行無效的測試。同時由于測試在整個項目研發(fā)過程中占用了相當一部分信息服務資源,因此,管理人員也常常在思考測試是否有效,是否值得投入那么多資金。因此,要改善測試過程、使測試過程變得更為有效,必須不斷地評價測試結果。
2 評價軟件測試有效性的工作流程
評價軟件測試有效性的主要目的是評價測試人員的工作和使用評價后的結果改進測試過程。在軟件測試中,往往會存在一些無效的方面,評價的目標就是識別這些無效和問題以便可以采取修復措施。
在測試的有效性評價工作中,存在兩個關鍵的因素:一是評估的目標,目標是對度量過程的恰當指導,無效的目標會使整個評價過程無效;二是實現度量目標所需的信息類別,信息的收集需要建立專門的小組,整個評價過程也應指派專門的人員負責,因為如果沒有專人負責評價過程,那么就無法確保進行正確的數據收集和評估過程。
圖1給出了評價測試有效性的工作流程。本文主要圍繞這個工作流程來進行詳細的闡述。
3 有效性評價的輸入
當所有的軟件測試過程結束后,軟件測試有效性評價工作就可以開始了,測試階段的最終執(zhí)行結果是它的入口條件,表1列出了輸入所需的一部分信息類型,根據具體項目的不同,也會產生其它的輸入。
4 有效性評價的執(zhí)行過程
軟件測試的有效性評價的執(zhí)行過程包含七個方面的內容:確定評估目標、確定度量內容、制定度量責任、選擇評估方法、確定所需事實、收集評估數據和評估測試有效性。
4.1 確定評估目標
定義目標,是為了使度量過程得到指導。前面提到,評價的目標就是為了識別測試無效的方面,以便采取修復措施。因此應該明確地確定評估執(zhí)行的目標。在測試有效性評價中需要識別的內容包括以下六個方面:識別測試弱項、識別新測試工具的需要、評估項目測試、識別良好的測試實踐、識別不好的測試實踐和識別經濟的測試實踐。
4.2 確定度量內容
明確了評價目標之后,接下來的工作就是確定度量的內容,即確定達到度量目標所需信息的類別。應用系統(tǒng)的測試中,有五個方面是可度量的:涉及方、測試的程度、資源、有效性和評估。
4.3 制定度量責任
在測試評價過程中,應該指定負責收集和評估測試性能信息的小組和專門的負責人員,這時為了確保數據收集和評估過程發(fā)生的推動力。
4.4 選擇評估方法
在執(zhí)行測試評估的過程中有一些方法可供選擇,在實際操作過程中,我們推薦采用度量指標方法,因為它一旦建立就很容易使用,并且可以證明它與有效和無效實踐有密切關系。
因素間的某種關聯(lián)或關系稱為度量指標。度量指標的一個主要優(yōu)勢在于可以清晰地定義評估過程,并且對被評估人員來說也是透明的,同時它具有良好的針對性,可以容易地確定哪些測試變量需要調整以提高有效性、效率和/或測試過程的經濟性。測試度量指標方法是指識別那些和好的或不好的測試有密切關系的標準。
4.5 確定所需事實
確定所需事實是指識別支持所選方法的必要證據。度量指標方法明確地識別了評估過程所需的數據類型。要使用本文后面描述的度量指標,所需確定的信息包括:變更的特征、被測試過程的費用、測試的費用、測試所發(fā)現的缺陷、階段發(fā)現的缺陷、測試后發(fā)現的缺陷、按功能的測試費用、對系統(tǒng)的抱怨、缺陷的量化和恢復缺陷的量化。
4.6 收集評估數據
收集評估數據主要是指通過收集機制、存儲機制以及選擇和總結信息的方法,來建立用于存儲所需評估數據的系統(tǒng)。
4.7 評估測試有效性
執(zhí)行過程的最后一步是分析信息以得到關于系統(tǒng)測試有效性的結論。通過分析度量指標方法,相應的人員可以有針對性地采取措施,并將總結后的結果記錄到測試評估表格中。度量指標方法通常會以量化的,表示測試過程好壞的形式給出評估。
下面(見表2)給出30個推薦使用的用于評價應用系統(tǒng)測試的度量指標。
5 有效性評價的檢查過程
在檢查過程中,需要建立一個質量控制檢查單(見表3),其中的“是”回答表示好的測試實踐;“否”回答表示需要額外的調查。注釋列用于解釋“否’回答并記錄調查結果。當檢查單的項不適用于測試情形時適用“N/A”列。
6 有效性評價的輸出
測試有效性評價的最后輸出是改進后的測試過程。在這個步驟中,主要是對測試結果進行仔細地分析,然后采取相應措施來修復所確認的薄弱環(huán)節(jié),使用度量/行動的方法來改善測試過程,最后使得應用系統(tǒng)測試更加有效。(度量/行動的方法是指通過改變某種度量指標中的變量來度量另一種度量指標中變量的改變。如果能夠說明通過增加執(zhí)行的指令數目確實減少了操作的系統(tǒng)中的缺陷數目,那么可以認為該措施是預期的,并且應該推廣。而如果執(zhí)行指令的增加并沒有減少產品投入運行之前的缺陷的數目,那么說明那些資源還沒有得到有效的使用,應該停止該行動并且嘗試其他措施。)
7 結束語
本文提出了評測軟件測試有效性的一般工作流程,描述了度量測試的普遍目標,并為執(zhí)行這些度量給出了推薦的標準,是軟件測試的有效充,對實際軟件測試的評價工作具有一定的指導意義。在項目軟件測試過程結束后,IT組織應該結合各自的特點,通過在軟件過程中積累的經驗,運用本文提出的工作流程,逐步對軟件測試過程進行改進,使軟件測試更為有效的發(fā)揮它的積極作用。
參考文獻:
[1] William E Lewis.軟件測試與持續(xù)質量改進[M].陳少英,張河濤,譯.北京:人民郵電出版社,2008.
關鍵詞:案例教學;教學模式;軟件測試
近幾年來,軟件測試人員的培育要求和計劃已納入高職教育范疇,具有軟件測試的知識體系和工作技能已成為軟件人才新的職業(yè)構成標準,《軟件測試》這門課程成了各高職院校計算機軟件專業(yè)的一門必修專業(yè)課。開設該課程的主要目的是使教學對象掌握軟件測試的基本概念和基本理論,掌握基本測試技術和方法,并應用到實踐;使教學對象具備軟件測試的必備專業(yè)知識和實際工作能力,能基本承擔起軟件測試的工作任務,并為未來成長為軟件測試工程師奠定必備的理論知識與實踐基礎。而目前的情況是,大部分院校軟件測試課程的教學并沒有較好地達到預期的要求和目的。
一、軟件測試課程的傳統(tǒng)教學
軟件測試課程涉及的專業(yè)知識面較廣,而且要求有良好的基礎知識,如英語、數學等方面的知識。課堂教學內容繁雜,沒有規(guī)律可循,更難以用一條主線相連、跳躍性大,從而導致學生對教材的理解不深,容易出現前面學、后面忘的情況。本課程具有很強的實踐性、綜合性和社會性,與工程實踐聯(lián)系緊密,知識更新的速度很快,涉及到有關學科的綜合運用和團隊合作精神等。因此,如何將所學的內容與實際工程聯(lián)系起來,學會用所學的理論知識分析和解決實際工程問題,成為該課程教學成敗的關鍵問題。
“粉筆+黑板”仍是目前許多課堂教學的主要方法,這種傳統(tǒng)的方法,相對來說,教學環(huán)境一成不變,教學手段呆板枯燥,課時效率低。在教學活動中主要采用的是“教師講,學生聽;教師寫,學生抄的滿堂灌”的教學方法。在學習過程中,學生要不斷鞏固測試理論知識,加深對其理解和認識,完成所承擔的測試項目中的各項工作任務,提交測試分析報告,通過項目培養(yǎng)和訓練協(xié)同工作、溝通交流、角色轉換等,形成實際工作能力。按照傳統(tǒng)的教學方法教學,很難解決以上問題,也無法滿足現代教學要求。
二、軟件測試課程案例教學的重要性
軟件測試課程在高職院校是一門本著“理論夠用,實踐為主”原則的重要專業(yè)基礎課,但在實際操作中,如何把握這個理論夠用的度,實踐為主又如何展開,這都需要從實際的教學過程中不斷地總結和調整。在軟件測試這門課程中,針對高職高專學生基礎差、學習積極性和主動性不強的特點,在教學過程中采用“案例驅動”、“從實踐中領悟理論”,即案例教學是比較理想的模式。這種模式能夠讓學生在教學中動手動腦、直觀體會實際的測試過程,尋找理論的根據和支點,從而達到預期的教學效果。
案例教學法源自醫(yī)學教育的問題導向學習(Problem-based learning),強調以學習者為中心的合作學習,是一種跨學科領域的學習架構。此種方式較口述或文字敘述更能傳達真實問題情境的復雜,給學生提供更接近真實的問題學習情境。案例教學法除強調問題的真實性外,也著重解決問題過程中學習者搜集、分析、整理資料,乃至提出解決方案的學習歷程。
案例教學法的特點是突出實踐性、較強的綜合性、深刻的啟發(fā)性、過程的動態(tài)性。案例教學法注重學生的智力開發(fā)及培養(yǎng)學生解決實際問題的能力。在本課程的教學活動中,采用案例教學能改變傳統(tǒng)的灌輸式的教學方法,充分調動學生的學習積極性,使學生的思維空間得到拓展,提高其學習興趣;使學生學會用所學的理論知識分析和解決實際工程問題的方法,從而也改變其對理論學習的枯燥感和“讀書無用”的觀念。
三、軟件測試課程案例教學的思路
1.案例的引入和設計
首先,要根據教學計劃安排和教學進度的要求設計教學案例,為課堂的教學內容埋下伏筆。案例教學以案例為基本教學材料,將學習者引入工程實踐的情境中。因此,教學案例應具有很強的實踐性;要蘊涵工程實踐的理論、原則與原理和方法;要具有新穎性、講究時效性、背景要清晰等特征。其次,在完成理論課的講解后,再將相關案例發(fā)給學生,給學生較充足的課外時間準備相關的材料。一般情況下可通過多媒體教學軟件或服務器的形式發(fā)放給學生,要求他們在規(guī)定的時間內認真完成。一個好的測試案例應包含測試目的、特殊的硬件要求、特殊的軟件要求、特定的配置、執(zhí)行測試的描述、測試的預期結果或成功條件。另外,還要考慮如何將本堂課的新知識點貫穿其中。
2.案例分析討論
案例分析討論是案例教學中的重要環(huán)節(jié)。學生通過分析案例,可以知道本節(jié)課要掌握的理論知識、操作內容、注意事項、所要達到的教學要求和目的、在課后應完成哪些報告或查找哪些資料等。案例分析的過程是學生與學生或教師與學生之間討論交流的過程,教師要善于在討論過程中啟發(fā)引導學生,培養(yǎng)他們思考問題的敏捷性和洞察力,讓他們學會用理論知識來指導實踐,遇到關鍵節(jié)點時能夠急中生智,穩(wěn)中求勝。
在案例教學中,學生的學習在討論與爭辯中進行,學生充當主角,是主動的學習者,教師的角色是指導者和推動者,其作用是領導案例教學的全過程。課堂上教師要組織案例討論,不僅要引導學生去思考、去爭辯、做出決策和選擇,解決案例中的特定問題,進而從案例中獲得某種感悟,而且要引導學生探尋特定案例情景復雜性的過程及其背后隱含的各種因素和發(fā)展變化的多種可能性。
3.案例實驗操作
教學案例的主要內容是與教學內容為依據相匹配的,要有較強的可操作性。下面是一個教學內容與案例的匹配圖示:
從圖1可以看出,在設計實驗案例時,既要有簡單的基礎性實驗案例,又要有綜合實驗甚至是課程設計。簡單的基礎性實驗案例主要是讓學生熟悉基本的軟件測試方法,綜合性的實驗案例主要是讓學生增強實際操作能力,增加軟件項目測試的綜合經驗。通過一個個綜合性的案例,特別是較大型的軟件項目測試實驗,讓學生在實驗的每一個步驟中理解軟件測試技術和各種具體的測試方法。同時,學生可以通過對案例的操作和理解,進一步了解熟悉軟件測試工作的完整流程,包括文檔的編寫與收集,都是一個很好的鍛煉。這樣的教學在不知不覺中就邁出了“工學結合”的第一步,與高職教育需求完全吻合。
4.案例歸納總結
案例討論后要做簡短的歸納和總結,從案例討論中得出一定的結論,為后續(xù)的課堂理論教學提供準備。教師在總結過程中,要講明案例中的關鍵節(jié)點,以及在實驗操作時存在的長處或不足,但不宜對錯誤的觀點簡單地否定,以免挫傷學生的積極性。實驗結果可以多元化。在總結中,要揭示出案例中包含的理論,強化以前討論的內容,提示后續(xù)案例,達到突出教學重點,回歸教學的目的。
四、其他豐富的教學方法和手段
經過實踐中的不斷摸索和總結,發(fā)現《軟件測試》課程在教學過程中要增強師生互動,提高教學效果,達到預期的教學要求,在教學方法和手段上還可以采取以下幾種形式的結合。
(1)課堂進機房,避免純理論的“PPT滾動”,注重課堂里的師生互動。(2)FLASH動畫分解操作內容,教師錄相演示操作流程。(3)分組合作討論,責任到人,各盡其能。(4)優(yōu)秀組員示范,榮譽物質兼并鼓勵。(5)定時地帶學生了解軟件測試企業(yè)“完整的工作過程”,讓他們從實踐中得到熏陶。(6)“一帶一”訂單式的互助。讓基礎好的學生幫助基礎不好的學生,督促完成相應的教學內容。(7)開設課外興趣小組,為基礎興趣較好的學生提供更多更好的實踐環(huán)境。
五、結語
在高職院校,對軟件測試這門課程,我們結合自己的學生不斷地進行探索和實踐,進行了一系列的教改與創(chuàng)新,受到學生及領導的好評。該教法以企業(yè)的要求為導向,注重學生動手能力的提高,注重培養(yǎng)學生主動思考問題、解決問題的能力,同時又運用現代教育學理論,在教學過程中采取案例教學與項目教學等多種教學方法和手段來實現“工學結合”。通過學生座談會了解到,大多數學生認為這種多樣化的教學,使他們對課本知識的理解更加深入,主動思考問題的能力有了一定的提高,動手能力得到進一步加強,“軟件測試”的教學質量和教學效果有了較明顯的好轉。
參考文獻:
[1] 張尚仁.古希臘哲學家的故事[M].北京:中國青年出版社,1984.
[2] 李亞.“軟件測試”教學探索與實踐[J].Computer Education,2008,(6).
[3] 賀平.軟件測試課程開發(fā)[J].計算機教育,2006,(12).
[4] Ron Patton.Software Testing Second Edition(第2版)[M].北京:機械工業(yè)出版社,2006.
[5] 鐘元生.軟件測試實踐教學特色的構建實踐[J].電化教育研究,2006,162(10):62-65.
關鍵詞:高等職業(yè)教育;課程設計;校企合作;軟件測試
DOIDOI:10.11907/rjdk.162329
中圖分類號:G434
文獻標識碼:A文章編號:1672-7800(2016)012-0197-03
0 引言
隨著軟件技術在社會各領域的廣泛應用,人們開始越來越關注軟件產品質量,軟件測試作為軟件質量保證的重要途徑也因此受到行業(yè)領域的關注與重視,軟件測試崗位的就業(yè)前景也變得越來越好。在《國務院關于加快發(fā)展現代職業(yè)教育的決定》中,提出“深化產教融合、校企合作”[1]。隨著技術的發(fā)展、產業(yè)結構調整的不斷加快,持久深入的校企合作已經逐漸成為高職院校課程開發(fā)質量的關鍵要素之一。
《軟件測試基礎》課程大多在高職院校的計算機類專業(yè)中開設,但是普遍存在著課程內容更新慢,教學方法、手段陳舊,課程評價考核單一的問題,導致學生學習興趣不大,學習效果不佳。該課程在蘇州健雄職業(yè)技術學院是軟件技術專業(yè)的一門專業(yè)基礎課,該院與上海博為峰軟件技術股份有限公司、上海澤眾軟件科技有限公司等從事軟件測試的IT企業(yè)緊密合作,對課程進行了一系列建設和改革,培養(yǎng)了一大批軟件測試人才,受到企業(yè)的一致認可。
1 以工作過程為導向的課程設計
課程組成員結合計算機等級考試、計算機軟件專業(yè)技術資格考試和國際軟件測試資質認證(ISTQB)的考試大綱,以及行業(yè)、企業(yè)對軟件測試員的人才需求,與企業(yè)專家共同確定本課程的目標為:使學生了解軟件測試的發(fā)展前景,掌握測試的基礎知識,了解測試用例的概念、意義;能夠搭建測試環(huán)境,掌握常用的黑盒、白盒用例設計方法,能夠進行簡單的手動功能測試并撰寫測試報告與缺陷報告;了解常用的自動化測試工具、性能測試工具,理解測試工具的原理,了解測試管理的概念與流程等。
本課程以軟件測試工程師的工作過程為導向,按照軟件技術專業(yè)培養(yǎng)目標與高職學生的特點,將測試基礎知識、相關技術方法、測試管理貫穿在整個測試流程中,從而構建測試各階段所需的知識與技能。在課程中以“虛擬公司”作為組織形式,在運作過程中充分體現職業(yè)教育行為導向和職業(yè)性原則。行為導向,即創(chuàng)造師生互動的仿真情境,使學生通過自主協(xié)作式學習方式,反復操練,從而形成符合企業(yè)要求的行為方式和職業(yè)能力。職業(yè)性原則,即要求實訓目標和就業(yè)目標高度一致[2]。學院與企業(yè)共建實訓平臺,通過具體工程項目及案例素材,使用測試管理工具從測試需求建起,測試模塊劃分、測試用例設計、測試用例執(zhí)行、缺陷管理,加強學生對測試管理工具的使用。
2 以工作項目為載體的學習情境創(chuàng)設
《軟件測試基礎》課程最好在第三學期開設,因為這時學生對軟件行業(yè)已有一定了解,并已具備初步的編程經驗,課程共計64學時。依據軟件測試的工作過程可以將課程劃分為6個學習情境,共15個工作任務,具體如表 1所示。
學習情境1中主要讓學生認識缺陷并知道缺陷產生的原因,掌握軟件測試的定義、目的、分類和原則,熟悉V模型、W模型、H模型等軟件測試的常見模型;熟練掌握軟件質量模型的分類和各個評價指標,并明確軟件質量與軟件測試之間的關系;會查詢互聯(lián)網中的招聘信息,分析軟件測試工程師的崗位職責及發(fā)展路徑,并盡早做好職業(yè)生涯規(guī)劃。
學習情境2中讓學生能夠明確軟件測試的依據,并閱讀需求規(guī)格說明書,理解測試需求的概念,會對測試需求進行挖掘;能夠理解測試計劃的重要性,知道測試計劃的一般組成要素。
學習情境3中讓學生能夠理解黑盒測試、白盒測試、灰盒測試的基本概念及它們之間的區(qū)別與聯(lián)系;能夠靈活地運用黑盒測試的常用方法,如等價類劃分、邊界值、決策表、因果圖、場景法、正交表等來設計測試用例;能夠靈活地運用白盒測試的常用方法,如邏輯覆蓋法、基本路徑法等設計測試用例。
學習情境4中讓學生學會測試環(huán)境的搭建,如在虛擬機中部署PHP、JSP、.NET等應用程序;理解單元測試、集成測試、系統(tǒng)測試、驗收測試的概念及基本流程,熟悉集成測試的策略,能夠使用JUnit 等工具來開展單元測試;能夠掌握缺陷的概念,會正確記錄缺陷,掌握缺陷報告的基本格式與內容。
學習情境5中要讓學生理解測試總結的意義和重要性,并了解測試總結報告的格式與內容。
學習情境6中能讓學生掌握手動測試與自動化測試的區(qū)別,了解自動化測試、性能測試等工具的原理,初步掌握腳本的錄制和參數的設定,為后續(xù)課程的學習奠定基礎。
3 “互聯(lián)網+教育”方式的課程改革深化
3.1 利用雨課堂平臺實施線上線下混合教學
合理運用互聯(lián)網新技術,由傳統(tǒng)教學向線上線下混合式教學方式轉變,打破以往學生學習時空的限制,按需學習,讓教育教學資源得到最大化共享。由于本課程概念較多,課程學習后還需通過工信部的考證,線上教學教師通過清華大學研制的雨課堂平臺將PPT課件、微課、測試等資料上傳至云空間,并推送到學生的移動終端上,督促學生做好預習、復習工作,學生所有的學習行為數據均被自動完整采集,有助于量化了解學生學習效果并把握學生學習軌跡[3];傳統(tǒng)的線下面授,則重點解決學生的疑難困惑問題,提高教學效率。
3.2 改進教學方法提高學生學習興趣
自我介紹是向別人展示自己的重要途徑,是與他人進行溝通、增進了解、建立聯(lián)系的一種最基本、最常見的方式,是人與人進行溝通的出發(fā)點。在面試軟件測試工程師時該如何進行自我介紹呢?本文是小編整理的軟件測試工程師面試英文自我介紹范文以及關于軟件測試工程師面試的知識,僅供參考。
軟件測試工程師面試英文自我介紹范文
軟件測試工程師面試英文自我介紹范文1I’m Cheers.Lee, I’m twenty-six year old, I majored in E-business and with a bachelor degree.I’m single.And I love software testing, as the software quality is vital to the company’s customer, it also could improve the company’s image, so quality is the best policy.We must devote all my energy to assure the software quality.
The position which I’ve come to apply is senior software testing engineer.I have three years work experience, one year and a half of function testing experience and one year of performance and automation testing experience.I have been reading up on software testing, especially on performance testing and automation testing.I’m quite familiar with performance testing tool LoadRunner, and familiar with automation testing tool QTP.I’m good at developing performance testing script base on C language in web system, and also have good skills in develop QTP script.
As we all know that software performance has become more and more important, while thousands of the users log in the system or visit the website simultaneously, the problem may occurred, the system crash or the server deny to provide the service to the user, so the performance testing need to be done before the software delivered to our customers.
We also benefit from the automation testing.There is always a lot of function testing or regression testing need us to finish in a short time.But we do not have enough time and sufficient human resource to complete it, how should we do? So the automation testing is the best solution.It cut down the costs, improve the work efficiency, save our time and energy.Its advantage is not merely as so.
軟件測試工程師面試英文自我介紹范文2Good morning, ladies and gentlemen! It is really my honor to have this opportunity for an interview.I hope I can make a good performance today.I'm confident that I can succeed.Now I will introduce myself briefly.I am 26 years old, born in Shandong province.I graduated from Qingdao University.My major is electronics.And I got my bachelor degree after my graduation in the year of 2003.I spent most of my time on study, and I’ve passed CET-6 during my university.And I’ve acquired basic knowledge of my major.It is my long cherished dream to be an engineer and I am eager to get an opportunity to fully play my ability.
In July 2003, I began working for a small private company as a technical support engineer in Qingdao city.Because there was no more chance for me to give full play to my talent, so I decided to change my job.And in August 2004, I left for Beijing and worked for a foreign enterprise as an automation software test engineer.Because I want to change my working environment, I'd like to find a job which is more challenging.Moreover,Motorola is a global company, so I feel I can gain a lot from working in this kind of company.That is the reason why I come here to compete for this position.I think I'm a good team player and a person of great honesty to others.Also,I am able to work under great pressure.I am confident that I am qualified for the post of engineer in your company.
That’s all.Thank you for giving me the chance.
軟件測試工程師面試技巧核心提示:第一個問題:自我介紹(心理學首因效應告訴我們第一印象非常重要),自我介紹最重要的是能夠在面試官心目中留下一個好的第一感覺。說得更直白一點是讓面試官舒服。但是我發(fā)現很多人就是直接簡單的介紹了一下過去的經歷,但是實際上一方面過去的經歷沒有很好的讓人發(fā)現優(yōu)點。其實面試好比相親,你想說什么不重要,重要地是人家想聽什么。比較好的自我介紹套路是這樣:“您好,我叫XXX,很高興能獲得這次...
第一個問題:自我介紹(心理學首因效應告訴我們第一印象非常重要),自我介紹最重要的是能夠在面試官心目中留下一個好的第一感覺。說得更直白一點是讓面試官舒服。但是我發(fā)現很多人就是直接簡單的介紹了一下過去的經歷,但是實際上一方面過去的經歷沒有很好的讓人發(fā)現優(yōu)點。其實面試好比相親,你想說什么不重要,重要地是人家想聽什么。比較好的自我介紹套路是這樣:“您好,我叫XXX,很高興能獲得這次面試機會,今天來面試是想證明自己是最合適的人選,另一個方面是獲得您的認可,結合我過去的工作和學習經歷,我自信我能符合咱們公司的認可,接下來您看是我繼續(xù)介紹我做過的項目,還是您問您關心的問題?”
第二個問題:項目介紹(項目經驗直接決定一個人能否勝任一份工作,企業(yè)更應該看重一個人解決問題的思路和具體能力),項目介紹部分最重要的思路是應該先整體后局部,介紹整體的時候要有量化的數據(從項目度量的五大維度:規(guī)模,包括項目代碼規(guī)模,需求規(guī)模、用例規(guī)模,工作量,進度,質量和成本),然后是整體的測試流程,然后再是角色與職責,接下來是項目中自己的特色,比如做得最好的是、遇到最大的困難時、最差的是,最后是心得體會。
第三類問題:數據庫方面知識,最基本的要求是數據庫記錄的增刪改查(insert、delete、update、select),表結構的增刪改查(create、drop、alter、describe)、存儲過程、觸發(fā)器等。
第四類問題:linux操作系統(tǒng)相關,最基本的目標是熟悉常見的50個命令,比如find命令(-name、-type、-perm、-user、-group、-ctime、-atime)等,熟悉vi、熟悉linux搭建測試環(huán)境。比如LAMP環(huán)境搭建。
第五類問題:缺陷相關知識,最基本的是缺陷跟蹤的流程(流程的基本要素),整體的流程,最好能在紙上給面試官畫出來(尤其是男面試官,從男人好色的角度來看,寫得很清楚很重要),缺陷單的屬性,至少能列出20個屬性,每個屬性的意義,如何描述好缺陷單,缺陷單描述的5C原則,比如缺陷重現步驟應該complete.如何描述一個你認為的最經典的bug單。
第六類問題:用例相關,最基本的包括用例的格式要素,用例設計工程方法論,每個方法要求(方法的背景,操作步驟,優(yōu)缺點、適應范圍,與其他用例方法如何配合),在項目中如何利用測試用例設計工程方法。如何評價、評審測試用例,評審從哪些維度?要設計好測試用例需要哪些方面的知識結構,比如技術、業(yè)務、方法。
第七類問題:軟件測試流程,系統(tǒng)測試相關規(guī)范和標準的流程:熟悉產品/項目,需求評審,測試需求,測試計劃,測試方案,測試用例,預測試,第一輪正式測試、第二輪回歸測試、第三輪測試,測試報告,測試總結,測試指南。
第八類問題,網絡相關,最基本的網絡基礎知識,比如TCP/IP協(xié)議。
第九類問題,測試工具,包括三個大的類型,第一類是性能測試工具、自動化測試工具、測試管理類工具。最起碼的要求是熟悉工具的使用。
第十類問題,給你一個軟件,比如QQ、QQ斗地主,你如何去測試,這類問題基本的思路是,從軟件質量模型、測試工具、測試方法、測試流程、探索式測試等角度先宏觀解決,然后再具體微觀講解用例如何設計等。
第十一類問題,一個優(yōu)秀/卓越的軟件測試工程師應該具備哪些能力與素質,素質方面包括溝通、五心工程師、追求完美等
第十二類問題,最后一個問題,面試官一般會問,您還有什么想問的嗎?還有什么想了解的嗎?總體上來說最重要的是留下一個好的近因效應,就好比相親的時候,分手離開的時候,留下好的最后的印象,基本的思路應該分三種情況,第一種是面試官對你滿意,自己也感覺不錯的情況下,先表示感謝,然后積極主動的問題,比如,非常感謝您給的這次機會,但是我還是想問,如果我有下一輪面試,我想知道知道是什么時候,我應該再做哪些方面的準備。第二種情況是面試官和自己感覺都一般般,感覺自己是雞肋,這個時候說不說很重要,基本的套路是,非常感謝面試官給的這個機會,坦白地說我對自己今天的面試表現不是非常滿意,還可以表現得更好,但是如果我還是非常想得到這個機會,您能否給我一些建議。第三種情況是面試情況非常糟糕,這種情況下,很少有人能說出感謝,但這恰恰體現一個人的風度?;镜乃悸肥牵还茉趺礃?,還是得感謝您給的機會,讓我自己認識到自己的不足,坦白地說我離這個崗位的要求還有些距離,但是我還是想知道,如果將來我還想來咱們公司面試,您能否給點具體建議。
總結,面試是一個相親的過程,相親的成敗取決于很多要素,但是好的、充分地準備,能夠讓我們更加從容地和主動的去面對壓力與挑戰(zhàn),而不是簡單地把自己變成超市里面的菜,供人挑選。
軟件測試工程師面試經驗總結首先說明我算上找實習的時候的面試總共就經歷了不到5次,沒有多少經驗,就在網上和書上摘錄了些我認為比較重要的,分享給大家,希望各位都能找到一份適合自己的好工作。
1.筆試題
對于筆試,有的公司筆試題是不區(qū)分開發(fā)和測試崗位的,測試人員除了要掌握好測試的基本知識外最好也是有編程基礎,具有盡量多的計算機的知識,像操作系統(tǒng)的基本知識(線程等),數據庫的基本操作(增刪改查,關聯(lián)查詢,授予權限等),數據結構的知識(像二叉樹的前序、中序、后序查詢)。
2.面試
如果在筆試中沒有考測試的基本知識,那在面試中是肯定要被問到的。面試前一定要做好準備,可以在網上搜一下關于這個公司的筆試題和面試題,以供參考。如果時間充??梢哉乙槐咀约耗芸吹倪M去的講軟件測試的書,認真的有側重點的看看。軟件測試的幾個主要的階段,不一定死記硬背能用自己的話說出來也可以或者能舉例說明,那幾個主要的白盒和黑盒的測試方法能熟練的應用到實際的例子中,等價類劃分和邊界值分析經常被問到。
每個公司做的項目都不一樣,最好先了解下要應聘的那家公司主要是做哪方面的,比如對美外包的公司就要求英語水平,能看懂英文文檔甚至能同外國人交流,最好能提前先看些英語的文章,準備下英文的自我介紹,臨時提高下英語水平。
我被問到的面試題(答案僅供參考)
1.為什么不考研?
2.想要一份什么樣的工作
3.做軟件測試人員需要具備什么樣的職業(yè)素質
(1) 專業(yè)技能,包括測試的技能和開發(fā)的技能
(2) 積極的態(tài)度
(3) 良好的溝通能力
(4) 細心
(5) 耐心
(6) 團隊意識
4.對他們公司的了解
5.再就是些工作地點能否接受,有沒有男朋友之類的基本問題
以下是針對實習項目問的問題(答案僅供參考)
6.缺陷報告有幾個狀態(tài),都包括哪些內容
狀態(tài):新建,打開,修復,關閉,重復的bug,無效的bug,被拒絕的bug,其他 內容::標題、模塊名稱、項目名稱、測試環(huán)境、重現步驟、期望結果、實際結果、嚴重級、優(yōu)先級、發(fā)現人、接收人和附件(截圖,說明等)。
7.有一個文本框,只能輸入0-5個字母的組合,如何進行測試
從字符串的長度考慮,按照邊界值方法設計測試用例
從字符串的長度考慮,按照邊界值方法設計測試用例
從字符串的組成內容考慮,按照等價類劃分方法設計測試用例
8.簡單的說一下性能測試和壓力測試
9.寫過自動化測試的腳本嗎
10.我實習的項目是一個金融的網站,技術的面試官問我,商品的價格是左對齊還是右
對齊(對于這個問題我也不知道為啥會被問到,有什么具體的含義,猜想可能是判斷我的項目經驗是否真實)
下面是我網上摘錄的一些可能被問到的面試題
1.您認為做好測試用例設計工作的關鍵是什么?
答:白盒測試用例設計的關鍵是以較少的用例覆蓋盡可能多的內部程序邏輯結果
黑盒法用例設計的關鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測試,以最少的用例在合理的時間內發(fā)現最多的問題
2.在您以往的工作中,一條軟件缺陷(或者叫Bug)記錄都包含了哪些內容?如何提交高質量的軟件缺陷(Bug)記錄?
3.談一些自己在以往的學習和工作中獲得的工作經驗和心得體會?(可以包括軟件測試、過程改進、軟件開發(fā)或者與此無關的其他方面
4.什么是軟件測試。
5.Alpha
測試與beta 測試的區(qū)別。
6.測試結束的標準是什么?
7.測試項目:杯子
需求測試:查看杯子使用說明書
界面測試:查看杯子外觀
功能度:用水杯裝水看漏不漏;水能不能被喝到
安全性:杯子有沒有毒或細菌
可靠性:杯子從不同高度落下的損壞程度
可移植性:杯子再不同的地方、溫度等環(huán)境下是否都可以正常使用
兼容性:杯子是否能夠容納果汁、白水、酒精、汽油等
易用性:杯子是否燙手、是否有防滑措施、是否方便飲用
國際化:杯子上的圖案有沒有觸犯到某個國家或宗教的禁忌
用戶文檔:使用手冊是否對杯子的用法、限制、使用條件等有詳細描述
疲勞測試:將杯子盛上水(案例一)放24小時檢查泄漏時間和情況;盛上汽油(案例二)放24小時檢查泄漏時間和情況等
壓力測試:用根針并在針上面不斷加重量,看壓強多大時會穿透
跌落測試: 杯子加包裝(有填充物),在多高的情況摔下不破損
震動測試: 杯子加包裝(有填充物),六面震動,檢查產品是否能應對惡劣的鐵路\公路\航空運輸
測試數據:測試數據具體編寫此處略(最討厭寫測試數據了)。其中應用到:場景法、等價類劃分法、因果圖法、錯誤推測法、邊界值法等方法
期望輸出:該期望輸出需查閱國標、行標以及使用用戶的需求
說明書測試: 檢查說明書書寫準確性
給大家提三個產品:1.手機 2.電飯鍋 3.電梯
8.圖書(圖書號,圖書名,作者編號,出版社,出版日期)
作者(作者姓名,作者編號,年齡,性別)
用SQL語句查詢年齡小于平均年齡的作者姓名、圖書名,出版社。
9.軟件測試分為幾個階段
各階段的測試策略和要求是什么
10.您認為在測試人員同開發(fā)人員的溝通過程中,如何提高溝通的效率和改善溝通的效果?維持測試人員同開發(fā)團隊中其他成員良好的人際關系的關鍵是什么?
11.請以您以往的實際工作為例,詳細的描述一次測試用例設計的完整的過程
12.您認為做好測試計劃工作的關鍵是什么?
13.您所熟悉的測試用例設計方法都有哪些?請分別以具體的例子來說明這些方法在測試用例設計工作中的應用。
14.測試計劃工作的目的是什么?測試計劃工作的內容都包括什么?其中哪些是最重要的?
答:軟件測試計劃是指導測試過程的綱領性文件,包含了產品概述、測試策略、測試方法、測試區(qū)域、測試配置、測試周期、測試資源、測試交流、風險分析等內容。借助軟件測試計劃,參與測試的項目成員,尤其是測試管理人員,可以明確測試任務和測試方法,保持測試實施過程的順暢溝通,跟蹤和控制測試進度,應對測試過程中的各種變更。
測試計劃和測試詳細規(guī)格、測試用例之間是戰(zhàn)略和戰(zhàn)術的關系,測試計劃主要從宏觀上規(guī)劃測試活動的范圍、方法和資源配置,而測試詳細規(guī)格、測試用例是完成測試任務的具體戰(zhàn)術。所以其中最重要的是測試測試策略和測試方法(最好是能先評審)
15.為什么要在一個團隊中開展軟件測試工作?
答:因為沒有經過測試的軟件很難在之前知道該軟件的質量,就好比ISO質量認證一樣,測試同樣也需要質量的保證,這個時候就需要在團隊中開展軟件測試的工作。在測試的過程發(fā)現軟件中存在的問題,及時讓開發(fā)人員得知并修改問題,在即將時,從測試報告中得出軟件的質量情況。
軟件測試工程師-個人簡歷個 人 簡 歷
基本信息:
姓 名:
出生年月:1991年7月
工作年限:2年
婚姻狀態(tài):未婚
電子郵箱: 性 別:男 畢業(yè)學校:廣東建華學院 學 歷:大專 專 業(yè):計算機專業(yè) 手 機:
專業(yè)技能:
1、熟悉軟件測試理論,軟件測試流程,編寫測試用例等;
2、熟練應用黑盒測試的方法,如邊界值法、等價類法、場景法等;
3、掌握自動化測試工具QTP、性能測試工具LoadRunner的基本使用,如錄制腳本,參數化設置,腳本優(yōu)化等;
4、熟悉軟件測試的管理工具,如BugFree
缺陷管理工具、SVN版本控制、MindManager 思 維導圖等工具的使用;
5、熟悉Oracle和MySQL數據庫的基本操作,如增、刪、查、該等命令的使用;
6、熟悉Linux操作系統(tǒng)的基本操作;
7、對C語言有一定的了解,如9條基本語句、數組、指針等等的使用;
項目經驗:
項目一
項目名稱: 奔騰出租車
運行環(huán)境: Linux + MySQL + Apache
項目概述: 本系統(tǒng)是一套功能全面的出租車管理系統(tǒng),通過該軟件可以讓出租車公司內部及時準確地采集各種數據信息,處理高速化和網絡辦公自動化。實現對出租車 公司司機的信息記錄,操作,出租車管理,提供精確查詢等多種查詢方式。主 要功能模塊有:首頁、基本信息設置、任務管理、統(tǒng)計圖表、輔助工具、幫助 菜單、用戶信息管理等。通過規(guī)范化管理來掌握車輛信息,處理車輛調度,將 很大程度上解決出租車公司在工作上的管理難度,讓車管理更上一個臺階。 責任描述: 1、根據項目需求文檔進行需求分析,寫出需求點;
2、針對責任模塊編寫有效的測試用例;
3、搭建測試環(huán)境,保證測試出的數據真實可靠;
4、執(zhí)行測試用例,用BugFree提交Bug并跟蹤其狀態(tài);
5、進行回歸測試;
6、編寫測試報告。
項目心得: 對軟件測試有了更深層的理解,當編寫用例時,要嘗試新的技術,新的思維,往往Bug就出現在意想不到的地方;明白了回歸測試的重要性,因為偶爾會有些模塊在上一版本沒有出現問題,但在修復某個Bug時卻出問題了,所以測試時需要考慮全局,不要只局限于某個小模塊。
項目二:
項目名稱: 金華酒店管理系統(tǒng)
運行環(huán)境: Linux + MySQL + Apache +PHP
項目概述: 金華酒店管理系統(tǒng)主要應用于中小型酒店,通過該軟件可以方便快捷的管理酒店,使酒店的工作質量和效率提高。軟件采用先進的計算機網絡通信技術,改變了酒店業(yè)務模式,大大提高了工作效率。本系統(tǒng)的功能包括房間狀況管理、添加房間信息、維修管理、退房管理、客戶入住等,是為了不讓人工繁瑣去操作,而設計的一個管理系統(tǒng)。
責任描述: 1、測試軟件是否達到需求規(guī)格書的要求,包括:各個功能點是否以實現,業(yè)務流程是否正確;
2、編寫測試用例,如用邊界值法、等價法、錯誤推斷法等方法編寫;
3、搭建測試環(huán)境(按照說明書搭建);
4、執(zhí)行測試用例,用BugFree提交Bug并跟蹤其狀態(tài)。
項目心得: 測試的規(guī)范化是及其重要的。測試時要注意Bug的群集現象,因為往往百分之八十的問題都發(fā)生在百分之二十的模塊當中。
項目三:
項目名稱: 科達薪水助手
運行環(huán)境: Linux + MySQL + Apache +PHP
項目概述: 本系統(tǒng)基于B/S架構,主要用來支持企業(yè)薪酬管理,方便企業(yè)管理員工信息,統(tǒng)計日常支出,員工薪酬管理等等。主要功能模塊有員工信息管理、部門管理、工資管理、收支統(tǒng)計、系統(tǒng)設置、輔助工具、薪酬報表等。本系統(tǒng)的特色就是把員工的信息和薪酬等信息整合在一起,更方便快捷的操作,一套好的工資管理系統(tǒng),有助于建立科學有效的薪酬體系。
責任描述: 1、編寫測試用例;
2、執(zhí)行測試用例,用BugFree工具提交Bug,并跟蹤其狀態(tài)。
項目心得: 對黑盒測試的各種方法的應用更加得心應手了。
工作經歷:
2012/08—2021/01 創(chuàng)拓達科技有限公司 軟件測試工程師 自我評價:
本人性格隨和,適應能力強,有較強的學習能力,能獨立分析和解決問題。能快速融 入到團隊中去,工作積極上進,對于領導分配的任務認真完成。
軟件測試工程師面試英文自我介紹范文的人還看了:
1.軟件工程師面試自我介紹范文
2.應屆生軟件測試面試自我介紹范文
3.軟件測試面試自我介紹范文
4.軟件測試面試自我介紹
5.軟件測試工作面試自我介紹范文
6.軟件測試工程師簡歷自我評價
7.軟件測試工程師的自我評價
8.計算機專業(yè)英文自我介紹范文
關鍵詞:軟件測試;誤區(qū);黑盒測試;測試用例
隨著軟件產業(yè)的發(fā)展、軟件規(guī)模的逐步擴大,軟件的質量問題日漸突顯,軟件測試與軟件質量監(jiān)控也越來越受到軟件行業(yè)的重視。各類招聘信息中對軟件測試類人才的需求猛增,很多人由此而選擇了軟件測試,但其中不少人始終未能拿到軟件測試行業(yè)的“入場券”,原因何在?軟件測試行業(yè)是一個高速發(fā)展的新興行業(yè),盡管當下認知程度不高,但有著廣闊的發(fā)展前景。如何才能更有效地進入軟件測試領域是本文的研究重點所在。
1 軟件測試的誤區(qū)
1.1 誤區(qū)一:軟件開發(fā)完成后才開始進行軟件測試。 軟件從開始計劃、編制、測試,一直到公開使用的過程中都可能存在軟件缺陷。事實證明,需求規(guī)格說明書是導致軟件缺陷的最大原因。隨著時間的推移,修復軟件缺陷的費用呈幾何級數增長。
1.2 誤區(qū)二:軟件后如果發(fā)現質量問題,那是軟件測試人員的錯。軟件測試只能確認軟件存在錯誤,不能保證軟件沒有錯誤。軟件的高質量不是軟件測試人員測出來的,是靠軟件生命周期的各個過程設計出來的。應該分析軟件項目的各個過程,從過程改進方面尋找產生錯誤的原因和改進的措施。
1.3 誤區(qū)三:軟件測試要求不高,隨便找個人都可以完成這項工作。軟件測試涉及很多領域,簡單的點點鼠標、按按鍵盤的工作根本無法達到軟件測試的目的,若想立足于軟件測試領域必須掌握和學習很多方面的知識。
1.4 誤區(qū)四:項目進度吃緊時少做些測試,時間富裕時多做測試??s短測試時間會導致測試不完整,無法達到測試的目的,測試效果也將大打折扣。軟件項目過程應該是有計劃的、可控制的,若項目過程管理混亂必然會降低軟件測試的質量。
2 學習軟件測試的過程和方法研究
不同知識基礎的人,學習軟件測試技術、進入軟件測試領域的感受也有所不同,很多人在學習軟件測試知識的過程中非常盲目,沒有計劃、沒有方向,學習效率低下。
在此,本人對學習軟件測試的過程和方法進行總結、研究和探討,以作交流學習之用。
2.1 學習軟件測試的過程
(1) 第一步 明確測試目的。有目的才有動力,有目標才有方向。軟件測試就是對軟件需求分析、設計規(guī)格說明、程序代碼以及軟件其他相關產品進行測試的過程,是軟件質量保證的關鍵步驟。明確軟件測試的目的和目標才能準確的定位測試并更有效的進行測試。
(2) 第二步 結合實際項目,學習掌握測試方法、合理設計測試用例。常用的測試方法有黑盒測試和白盒測試。黑盒測試在完全不考慮程序內部結構和內部特性的情況下,針對軟件界面和軟件功能等進行測試,是最基本的測試方法。白盒測試允許測試人員利用程序內部的邏輯結構及有關信息設計或選擇測試用例進行測試。準確的理解和掌握這些技術及其相互關系是進行軟件測試的前提。因此,在學習軟件測試的過程中,要準確的把握測試方法并有條理的組織和設計測試用例。
(3) 第三步 熟悉測試步驟。 一個完整的軟件測試過程包括測試計劃、測試設計、測試開發(fā)、測試執(zhí)行、缺陷跟蹤和測試評估。軟件測試管理工具可以系統(tǒng)地控制整個測試過程,實現從測試需求、測試設計、測試執(zhí)行和缺陷跟蹤所有操作的全方位跟蹤管理,并為這幾個部分提供了關聯(lián)機制,使整個測試管理過程更加簡單和有組織。在此,本人建議在學習軟件測試技術的過程中,以一個測試管理工具(例:TestDirector)為平臺進行測試實踐,用心體會一個完整的測試過程。
(4) 第四步 了解測試階段。軟件測試從軟件需求階段就已介入,基本貫穿軟件項目開發(fā)全程,不同階段有不同的測試點,需要不同的測試方法和技術。軟件測試可以大致分為需求評審、 單元測試、集成測試、系統(tǒng)測試、驗收測試( α測試/ β 測試)這幾個階段。明確各個階段的測試目的和內容才能選擇相對合適的方法進行測試。
(5) 第五步 測試技術的提高和升級。軟件自動化測試是一項讓計算機代替測試人員進行軟件測試的技術,通常借助測試工具來執(zhí)行。自動化測試可以模擬軟件實際運行效果,測試效率高、準確度和精確度高、可以持續(xù)測試而無須休息,彌補了手工測試的不足。性能被列為系統(tǒng)質量的重要指標,并越來越受到人們的重視。性能測試是對軟件性能的表現進行測試,較功能測試更難實現。
2.2 學習軟件測試的方法 學習方法的好壞和學習習慣對學習效果的影響非常大,以下是軟件測試初學者需要注意的幾個地方:
(1) 勤學好問、充分利用各類學習資源。問題積累是學習的攔路虎。時間越久,問題越多,給學習造成了很大的阻力,更甚者會讓初學者心生放棄。三人行必有我?guī)煟趯W好問,不要滋生“歷史”遺留問題。當然,對于一個復雜問題,如果在短時間內無法理解透徹時,可以先簡單的了解,然后在之后的學習和實踐過程中慢慢體會其含義。由簡入繁,勿鉆“牛角尖”。
(2) 實踐出真知。實踐是檢驗真理的唯一標準。要想真正學會測試,必須進行實際的測試。不要說沒有測試環(huán)境,想學的話,完全可以自己搭建環(huán)境。有了行動才能有收獲。
(3) 切莫“閉門造車”。軟件測試技術是解決實際軟件測試問題的技術,與現實世界密切相關,盲目的學習可能適得其反。因此,應多關注軟件測試行業(yè)的動態(tài),了解軟件測試行業(yè)的真正需求,有目的的學習。
(4) 細心、耐心。軟件測試是對人技術和意志的一種考驗,不細心就有可能與缺陷擦肩而過,沒有耐心就無法將枯燥的測試進行到底。只有充分的細心和耐心才能適應和完成軟件測試工作。
(5)“懷疑”精神。定性思維往往是發(fā)生錯誤的根源,對于軟件測試人員來說,更應該具有“懷疑”精神,要考慮每個細節(jié),不要想當然地接受任何假設。
3 軟件測試的常用技巧 軟件測試雖然辛苦,但掌握一定技巧后將事半功倍。
3.1 邊界測試。邊界是最容易出錯的地方。在進行軟件測試時,應測試臨近邊界的合法數據(即最后一個可能合法的數據, 以及剛超過邊界的非法數據)。
3.2 非法測試。人們在不了解軟件功能或使用方法的情況下,經常會不經意地輸入一些非法數據或進行一些非法操作而導致軟件出現意外情況。因此,在進行軟件測試的過程當中,應考慮進行類似的非法測試。例如在輸入數字的地方輸入字符、輸入郵件地址的地方輸入非法格式的數據、進行一些不合理的操作等。
3.3 接口測試。程序往往在接口的地方發(fā)生錯誤,在進行相關測試時切勿掉以輕心。
3.4 代碼重用測試。在開發(fā)過程中有些模塊功能幾乎相同,程序員在重用代碼時可能忘記在原有代碼的基礎上作修改或修改不全面而引發(fā)錯誤。在測試的過程中應更加留意這方面的測試。
3.5 失效恢復測試。當意外(如網絡突然中斷、系統(tǒng)崩潰等)發(fā)生時,用戶能否繼續(xù)使用系統(tǒng),用戶將受到多大的影響也是測試要考慮的問題。
4 結束語
軟件測試是一個入門易、深入難的工作。學習軟件測試技術沒有捷徑可言,一點點的努力才是正道。學習過程是指引,學習方法是手段,希望以上的方法和技巧能夠給大家以啟迪,也希望更多有識之士能夠與我們共同徜徉在軟件測試這五彩繽紛的世界之中。
參考文獻:
[1] 把 冉. 軟件測試行業(yè)特別調查[J]. 中國經濟信息,2008(9):76-77.
[2] (美)Ron Patton. 軟件測試[M]. 周予濱,姚靜,等譯. 北京:機械工業(yè)出版社,2008.
[3] 路 璐,王文莉. 淺談軟件測試技術[J]. 鄭州鐵路職業(yè)技術學院學報,2007,19(2):41-42.
1.1 軟件測試研究背景
隨著計算機科學技術的快速發(fā)展,高度信息化正在以勢如破竹之勢推動著各行各業(yè)的飛速發(fā)展。伴隨著軟件系統(tǒng)被各行業(yè)所廣泛的應用,而在使用中會有各種各樣的軟件故障風險,甚至帶來很大損失,軟件系統(tǒng)故障為用戶所帶來的危害也被眾人/!/所熟知和重視。因此,對應用系統(tǒng)的正確運行的要求也越來越高,在提高軟件質量的各種技術當中,最直接、最有效的手段還是軟件測試技術[1]。正是由于這一原因, 系統(tǒng)測試也逐漸流行起來,特別是系統(tǒng)的核心--軟件的測試。所謂的軟件測試,其實就是指利用測試工具按照測試方案和流程對產品進行功能測試和性能測試,根據測試需要進行編寫不同的測試工具,設計和維護測試系統(tǒng),對測試方案可能出現的問題進行分析和評估[2]。軟件測試從以往那種處于不為人重視的狀態(tài),慢慢轉變成為企業(yè)全部生命周期中的一個重要組成部分。
目前國內的軟件自動化測試水平參差不齊[3]。尤其在消費電子產品領域,比如谷歌公司開發(fā)的開源 Android 系統(tǒng),更新速度更是驚人,所以許多產品的生命周期有的時候甚至會短于 6 個月。因此, 傳統(tǒng)的人工軟件測試方法已經無法趕上產品更新的步伐, 自動化測試就成為必然的選擇,自動化測試的主要目標就是減少開銷,獲得更徹底的測試,從而提高軟件產品質量[4]。
自動化測試就是通過使用計算機輔助手段,按照測試工程師的預先定好的計劃進行自動化測試[6],目的是為了減輕手工測試的勞動量、降低人工出錯概率,從而達到提高軟件質量的目的[7]。
在做自動化測試過程中,使用自動化測試工具時應盡早開始測試工作,這樣可以使修改錯誤更加容易和廉價,并可減少更正錯誤對軟件開發(fā)周期的影響[8,9]。雖然自動化測試可以彌補手工測試無法達到的測試需求[10],但是自動化測試并非能夠解決測試過程中的所有問題,因此不能追求自動化完全替代手工測試[11]。
1.2 自動化測試的優(yōu)缺點
1.2.2 國內外研究現狀
軟件測試起源于國外,圖靈是最早提出了需要對程序進行測試的人,但是直到到上世紀七、八十年代的時候,對軟件測試技術的研究才開始受到了人們的重視。很多國內外學者開始對軟件測試進行了深入的研究。美國北卡羅來納大學召開的軟件測試技術會議,可以說是軟件測試發(fā)展史上的一個非常重要的里程碑,其中 Good nough 和 Gerhart兩個人為軟件測試理論的奠基做出了極大的貢獻[21]。國外的高校、研究機構和企業(yè)也都對軟件測試進行了比較深入的研究,比如華盛頓大學、Mational Software Testing Lab等。
第二章 相關技術分析與研究
2.1 自動化測試技術
2.1.1 自動化測試的發(fā)展階段
自動化測試技術的發(fā)展,單從技術角度來說大概經歷了三個階段,這三個階段分別是:錄制回放測試、數據驅動和關鍵字驅動技術[26]。相對應的自動化測試系統(tǒng)從第一代基于線性的、結構化的自動化腳本系統(tǒng)發(fā)展到了第二代的數據驅動測試系統(tǒng),再發(fā)展成為第三代的關鍵字驅動測試系統(tǒng)。其中數據驅動和關鍵字驅動系統(tǒng)就是屬于目前所廣泛應用的基于框架的自動化測試系統(tǒng)。
第一代基于線性、結構化的自動化測試腳本對數據的處理不靈活,這類腳本是錄制手工執(zhí)行的測試事例得到的腳本[27]。當測試數據比較大的時候,測試邏輯無法重用,當測試數據變化時,雖然測試邏輯不變,仍然需要開發(fā)出腳本來生產新的測試用例[28,29]。在測試中把需要用到的測試數據從測試腳本中提取出來,并集中管理,以增加測試邏輯代碼的重用性,這就發(fā)展成為數據驅動測試技術。然而,隨著軟件的快速發(fā)展,軟件系統(tǒng)的業(yè)務邏輯越來越復雜,因此關鍵字驅動技術應運而生。
第三章 測試管理系統(tǒng)的關鍵字管理分析............8
3.1 關鍵字的意義和作用................. 8
3.2 關鍵字的劃分.....................9
3.3 關鍵字結構設計.....................10
3.4 關鍵字庫的結構設計.......................15
3.5 本章小結..................19
第四章 測試用例管理系統(tǒng)設計與實現.....................20
4.1 測試用例管理系統(tǒng)的功能分析.....................20
4.2 測試用例管理系統(tǒng)的總體設計..................20
4.3 用例管理系統(tǒng)的主要功能實現.................32
4.4 本章小結.......................38
第五章 用例管理系統(tǒng)在關鍵字驅動測試系統(tǒng)中的應用 ...................39
5.1 自動化測試框架系統(tǒng)介紹.....................39
5.2 用例管理在關鍵字驅動框架中的結合應用................... 41
5.3 用例管理系統(tǒng)的不足及改進方案...................45
5.4 本章小結...................47
總結
在項目的創(chuàng)立和開發(fā)過程中,召集了公司測試部門的部分初級和高級測試工程師參與項目的立項和討論,做了大量的前期調研工作。測試人員屬于該項目的終端用戶,所以我們在需求分析階段認真聽取大家的合理建議并采納了很多寶貴的意見和項目實施建議。在開發(fā)過程中和開發(fā)完第一個版本之后,也多次召集大家一起參加演示會議,大家給產品提出了很多新的改進需求,例如界面友好度,操作流程還不夠方便等,最終項目還是順利的完成了第一個版本的計劃。
該項目得到了公司領導的重視,也得到了各級各部門的大力支持,在接手該項目時,我對這個項目還是充滿信心的,在項目開始后的初期階段,遇到
關鍵詞:軟件;測試;看法
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007-9599(2011)21-0000-01
Points View of Computer Software Test
Ma Lijuan
(302 Design Institute,Guiyang 550009,China)
Abstract:With the software technology to increase the size and complexity,as a software engineering throughout the entire software life cycle,an important part of software testing,increasingly stringent requirements,but also the very strong challenge.Based on years of experience in software testing, software testing in the points put forward views,I believe this plays start a discussion on software testing for reference.
Keywords:Software;Test;Views
隨著近些年信息技術的高速發(fā)展,軟件產品的應用已經深入到社會的方方面面。人們在享受軟件產品帶來的便利的同時,也重點關注軟件產品的質量。對那些質量不合格的軟件產品給開發(fā)商和用戶都帶來麻煩,而在一些關鍵部門的應用,如果出現質量問題則是毀滅性的。對軟件進行的測試則受到重點關注。一般來說,伴隨計算機軟件的發(fā)展導致軟件測試應運而生,軟件測試的過程必須包含開發(fā)的任務,在對軟件進行的測試周期內則需要充分考慮到評估測試時間和開發(fā)修復時間。
根據筆者總結得知,軟件測試就是為了讓用戶更迅捷、更節(jié)省時間的把軟件產品或者在軟件系統(tǒng)中存在的各種問題找出來,在此基礎上,讓程序員解決存在的這些問題,并最后及時給予用戶高質量的軟件產品。作為軟件開發(fā)過程中的重要內容,軟件測試是對開發(fā)的軟件提供高質量保證的關鍵。在整個軟件開發(fā)的生命周期過程中,從新的軟件項目開始起,到軟件產品的需求分析,最后到驗收測試和安裝測試結束,都有著軟件測試的影子。
尋找和糾正軟件中的故障這是對軟件進行測試的目的,在測試過程中,不但要發(fā)現軟件中存在的錯誤,還要對軟件的質量進行客觀的評價。軟件測試就是對軟件的質量進行度量,從而評價一個程序或者一個系統(tǒng)屬性,并在此基礎上提高被檢測軟件的質量。
測試構成了所有工科的基本組成元素,在軟件開發(fā)中具有舉足輕重的作用。而軟件測試就是對軟件去組織測試,達到預期的效果和目的。近些年隨著計算機軟件開發(fā)的規(guī)模越來越大,而軟件的復雜程度得到明顯的提高,對軟件進行檢測以期望需找軟件中的錯誤的測試也越來越困難。而在此背景下,盡可能的把程序中的錯誤一一挖出,對這些錯誤進行解決,從而生產處高質量的計算機軟件產品,只有加強對測試工作的組織和管理,并選擇最優(yōu)的測試方法。根據筆者觀點,一套完整的測試分為以下五部分:第一階段:提出計劃。通過對用戶需求報告的詳細閱讀,特別是根據其中規(guī)格說明書中性能要求和性能仔細揣摩,制定出相應的測試需求報告,也就是制定黑盒測試的最高標準,在此項測試活動中,所有的測試工作都必須嚴格按照此項測試需求來開展工作,這也就是此項測試工作的行動準繩,依靠測試需求報告來進行判斷,符合測試需求的應用程序就給判定合格,而不符合測試需求的應用程序就給判不合格。而在制定測試需求報告后,還要針對這一需求測試需求報告選擇適當的測試內容,科學合理的安排測試人員、測試時間和測試資源等內容。第二階段:測試設計。在提出計劃的基礎上,根據測試計劃階段的要求將之前制定的測試需求進行詳細分解和細化為若干個可單獨執(zhí)行的測試小單元,并為每個小的測試單元尋找適當的測試比例,對這一比例要好好斟酌,因為這個比例選擇的好壞直接關系到測試結果的有效性。第三階段:測試開發(fā)。通過建立可重復的自動測試過程。這也是一個通過一組人通過閱讀、討論和爭議對程序進行靜態(tài)分析的過程。通過軟件測試會審小組的審查,審查小組由組長、2~3名程序設計和測試人員及程序員組成。會審小組在充分閱讀待審程序文本、控制流程圖及有關要求、規(guī)范等文件基礎上,召開代碼會審會,程序員逐句講解程序的邏輯,并展開熱烈的討論甚至爭議,以揭示錯誤的關鍵所在。實踐表明,程序員在講解過程中能發(fā)現許多自己原來沒有發(fā)現的錯誤,而討論和爭議則進一步促使了問題的暴露。例如,對某個局部性小問題修改方法的討論,可能發(fā)現與之有牽連的甚至能涉及到模塊的功說明、模塊間接口和系統(tǒng)總結構的大問題,導致對需求定義的重定義、重設計驗證,大大改善了軟件的質量。第四階段:測試執(zhí)行。執(zhí)行測試開發(fā)階段建立的自動測試過程,并對所發(fā)現的缺陷進行跟蹤管理。測試執(zhí)行一般由單元測試、組合測試、集成測試、系統(tǒng)聯(lián)調及回歸測試等步驟組成,測試人員應本著科學負責的態(tài)度,一步一個腳印地進行測試。軟件測試。是整個軟件開發(fā)過程中交付用戶使用前的最后階段,是軟件質量保證的關鍵。軟件測試在軟件生存周期中橫跨兩個階段:通常在編寫出每一個模塊之后,就對它進行必要的測試。編碼與單元測試屬于軟件生存周期中的同一階段。該階段的測試工作,由編程組內部人員進行交叉測試。這一階段結束后,進入軟件生存周期的測試階段,對軟件系統(tǒng)進行各種綜合測試。測試工作由專門的測試組完成,測試組設組長一名,負責整個測試的計劃、組織工作。測試組的其他成員由具有一定的分析、設計和編程經驗的專業(yè)人員組成,人數根據具體情況可多可少,一般3~5人為宜。第五階段:測試評估。在進行測試執(zhí)行階段結束后,通過結合量化的測試覆蓋域和缺陷跟蹤報告的結果,給予應用軟件所反映出來的質量和軟件開發(fā)團隊的工作進度和效率進行客觀的綜合評價。
當然,當面向對象技術開發(fā)的軟件來說,傳統(tǒng)的測試技術和方法則不能發(fā)揮應有的作用。為解決此項問題,我們對軟件測試技術提出面向對象的專用方法。面向軟件測試技術作為一項新興軟件測試技術,就是為了專門針對面向對象技術開發(fā)的軟件而推出的一項測試技術。面向對象軟件測試此項測試就是面向對象的軟件開發(fā)過程結合面向對象的特殊特點而給出的。其內容有分析與設計模型測試技術、類測試技術、對象交互測試技術、類層次結構測試技術、面向對象系統(tǒng)測試技術等。