1拇砰、你的測試職業(yè)發(fā)展是什么除破?
測試經(jīng)驗越多瑰枫,測試能力越高光坝。所以我的職業(yè)發(fā)展是需要時間積累的,一步步向著高級測試工程師奔去教馆。而且我也有初步的職業(yè)規(guī)劃,前3年積累測試經(jīng)驗板鬓,按如何做好測試工程師的要點去要求自己俭令,不斷更新自己改正自己抄腔,做好測試任務(wù)绵患。
2落蝙、你認為測試人員需要具備哪些素質(zhì)
做測試應(yīng)該要有一定的協(xié)調(diào)能力筏勒,因為測試人員經(jīng)常要與開發(fā)接觸處理一些問題管行,如果處理不好的話會引起一些沖突捐顷,這樣的話工作上就會不好做套菜。還有測試人員要有一定的耐心逗柴,有的時候做測試很枯燥乏味戏溺。除了耐心旷祸,測試人員不能放過每一個可能的錯誤托享。
3、你為什么能夠做測試這一行
雖然我的測試技術(shù)還不是很成熟羡榴,但是我覺得我還是可以勝任軟件測試這個工作的校仑,因為做軟件測試不僅是要求技術(shù)好迄沫,還有有一定的溝通能力邢滑,耐心困后、細心等外在因素摇予。綜合起來看我認為我是勝任這個工作的侧戴。
4积仗、測試的目的是什么寂曹?
測試的目的是找出軟件產(chǎn)品中的錯誤隆圆,是軟件盡可能的符合用戶的要求渺氧。當然軟件測試是不可能找出全部錯誤的侣背。
5秃踩、測試分為哪幾個階段鸟赫?
一般來說分為5個階段:單元測試、集成測試寻狂、確認測試蛇券、系統(tǒng)測試纠亚、驗收測試
6蒂胞、單元測試的測試對象、目的鸿染、測試依據(jù)涨椒、測試方法丢烘?
測試對象是模塊內(nèi)部的程序錯誤播瞳,目的是消除局部模塊邏輯和功能上的錯誤和缺陷赢乓。測試依據(jù)是模塊的詳細設(shè)計牌芋,測試方法是采用白盒測試躺屁。
7驯击、怎樣看待加班問題
加班的話我沒有太多意見徊都,但是我還是覺得如果能夠合理安排時間的話暇矫,不會有太多時候加班的。
8朱巨、結(jié)合你以前的學(xué)習(xí)和工作經(jīng)驗冀续,你認為如何做好測試洪唐。
根據(jù)我以前的工作和學(xué)習(xí)經(jīng)驗,我認為做好工作首先要有一個良好的溝通粒蜈,只有溝通無障礙了枯怖,才會有好的協(xié)作,才會有更好的效率蕊程,再一個就是技術(shù)一定要過關(guān)藻茂,做測試要有足夠的耐心捌治,和一個良好的工作習(xí)慣,不懂的就要問森枪,實時與同事溝通這樣的話才能做好測試工作。
9式散、你為什么選擇軟件測試行業(yè)
因為之前了解軟件測試這個行業(yè)暴拄,覺得他的發(fā)展前景很好。
10撕蔼、根據(jù)你以前的工作或?qū)W習(xí)經(jīng)驗描述一下軟件開發(fā)鲸沮、測試過程讼溺,由哪些角色負責(zé),你做什么
要有架構(gòu)師敬肚、開發(fā)經(jīng)理、測試經(jīng)理弄慰、程序員陆爽、測試員别威。我在里面主要是負責(zé)所分到的模塊執(zhí)行測試用例省古。
11、根據(jù)你的經(jīng)驗說說你對軟件測試/質(zhì)量保證的理解
軟件質(zhì)量保證與測試是根據(jù)軟件開發(fā)階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計的一批測試用例(即輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果)琳拭,并根據(jù)這些測試用例去運行程序,以發(fā)現(xiàn)錯誤的過程权薯。它是對應(yīng)用程序的各個方面進行測試以檢查其功能盟蚣、語言有效性及其外觀排布。
12奄抽、軟件測試的流程是什么?
需求調(diào)查:全面了解系統(tǒng)概況档泽、應(yīng)用領(lǐng)域抑胎、軟件開發(fā)周期阿逃、軟件開發(fā)環(huán)境、開發(fā)組織、時間安排诵闭、功能需求、性能需求褥琐、質(zhì)量需求及測試要求等。根據(jù)系統(tǒng)概況進行項目所需的人員磕洪、時間和工作量估計以及項目報價。
制定初步的項目計劃谷异。
測試準備:組織測試團隊、培訓(xùn)荞下、建立測試和管理環(huán)境等仰税。
測試設(shè)計:按照測試要求進行每個測試項的測試設(shè)計,包括測試用例的設(shè)計和測試腳本的開發(fā)等河绽。
測試實施:按照測試計劃實施測試耙饰。
測試評估:根據(jù)測試的結(jié)果,出具測試評估報告。
13篷扩、你對SQA的職責(zé)和工作活動(如軟件度量)的理解?
SQA就是獨立于軟件開發(fā)的項目組,通過對軟件開發(fā)過程的監(jiān)控歼狼,來保證軟件的開發(fā)流程按照指定的CMM規(guī)程(如果有相應(yīng)的CMM規(guī)程),對于不符合項及時提出建議和改進方案,必要時可以向高層經(jīng)理匯報以求問題的解決添瓷。通過這樣的途徑來預(yù)防缺陷的引入梅屉,從而減少后期軟件的維護成本。SQA主要的工作活動包括制定SQA工作計劃鳞贷,參與階段產(chǎn)物的評審坯汤,進行過程質(zhì)量、功能配置及物理配置的審計等搀愧;對項目開發(fā)過程中產(chǎn)生的數(shù)據(jù)進行度量等等疆偿。
14、說說你對軟件配置管理的理解
項目在開發(fā)過程中要用相應(yīng)的配置管理工具對配置項(包括各個階段的產(chǎn)物)進行變更控制搓幌,配置管理的使用取決于項目規(guī)模和復(fù)雜性及風(fēng)險的水平杆故。軟件的規(guī)模越大,配置管理就越顯得重要溉愁。還有在配置管理中处铛,有一個很重要的概念,那就是基線拐揭,是在一定階段各個配置項的組合撤蟆,一個基線就提供了一個正式的標準,隨后的工作便基于此標準堂污,并只有經(jīng)過授權(quán)后才能變更這個標準家肯。配置管理工具主要有CC,VSS,CVS,SVN等盟猖,我只用過SVN息楔,對其他的工具不是很熟悉。
15扒披、怎樣寫測試計劃和測試用例
簡單點,測試計劃里應(yīng)有詳細的測試策略和測試方法圃泡,合理詳盡的資源安排等碟案,至于測試用例,那是依賴于需求(包括功能與非功能需求)是否細化到功能點颇蜡,是否可測試等价说。
16、說說主流的軟件工程思想(如CMM风秤、CMMI鳖目、RUP,XP,PSP,TSP等)的大致情況及對他們的理解
CMM:SW Capability Maturity Model軟件能力成熟度模型,其作用是軟件過程的改進缤弦、評估及軟件能力的評鑒领迈。
CMMI:Capability Maturity Model Integration能力成熟度模型集成 CMMI融入了大部分最新的軟件管理實踐,同時彌補了SW-CMM模型中的缺陷碍沐。
RUP:rational unified process是軟件工程話過程狸捅。
XP:extreme program,即極限編程的意思累提,適用于小型團隊的軟件開發(fā)尘喝,像上面第三個問題就可以結(jié)合原型法采用這樣的開發(fā)流程。要明白測試對于xp開發(fā)的重要性斋陪,強調(diào)測試(重點是單元測試)先行的理念朽褪。編程可以明顯提高代碼的質(zhì)量置吓,持續(xù)集成對于快速定位問題有好處。
PSP缔赠,TSP分別是個體軟件過程和群體軟件過程衍锚。大家都知道,CMM只是告訴你做什么但并沒有告訴你如何做橡淑,所以PSP/TSP就是告訴你企業(yè)在實施CMM的過程中如何做构拳,PSP強調(diào)建立個人技能(如何制定計劃、控制質(zhì)量及如何與其他人相互協(xié)作等等)梁棠。而TSP著重于生產(chǎn)并交付高質(zhì)量的軟件產(chǎn)品(如何有效的規(guī)劃和管理所面臨的項目開發(fā)任務(wù)等等)置森。總之符糊,實施CMM凫海,永遠不能真正做到能力成熟度的提升,只有將實施CMM與實施PSP和TSP有機結(jié)合起來男娄,才能發(fā)揮最大的效力行贪。因此,軟件過程框架應(yīng)該是CMM/PSP/TSP的有機集成模闲。
17建瘫、你是怎樣保證軟件質(zhì)量的,也就是說你覺得怎樣才能最大限度的保證軟件的質(zhì)量尸折?
測試并不能夠最大限度的保證軟件的質(zhì)量啰脚,軟件的高質(zhì)量是開發(fā)和設(shè)計出來的,而不是測試出來的实夹,它不僅要通過對軟件開發(fā)流程的監(jiān)控橄浓,使得軟件開發(fā)的各個階段都要按照指定的規(guī)程進行,通過對各個階段產(chǎn)物的評審亮航,QA對流程的監(jiān)控荸实,對功能及配置的審計來達到開發(fā)的最優(yōu)化。當然測試也是保證軟件質(zhì)量的一個重要方式缴淋,是軟件質(zhì)量保證工程的一個重要組成部分准给。
18、基于目前中國的國情宴猾,大多數(shù)公司的項目進度緊張圆存、人員較少、需求文檔根本沒有或者很不規(guī)范仇哆,你認為在這種情況下怎樣保證軟件的質(zhì)量沦辙?(大多數(shù)公司最想知道的就是在這種困難面前你該怎么保證軟件的質(zhì)量,因為這些公司一般就是這種情況--既不想投入過多又想保證質(zhì)量)
出現(xiàn)以上的情況讹剔,如果僅僅想通過測試來提高軟件質(zhì)量油讯,那幾乎是不可能的详民,原因是沒有足夠的時間讓你去測試,少而不規(guī)范的文檔導(dǎo)致測試需求無法細化到足夠且有針對行的測試陌兑。所以沈跨,作為公司質(zhì)量保證的因該和項目經(jīng)理確定符合項目本身是和的軟件生命周期模型(比如RUP的建材,原型法)兔综,明確項目的開發(fā)流程并督促項目組按照此流程開展工作饿凛,所有項目組成員(項目經(jīng)理更加重要)都要制定出合理的工作計劃,加強代碼的單元測試软驰,在客戶既定的產(chǎn)品交付日期范圍內(nèi)涧窒,進行產(chǎn)品的持續(xù)集成等等,如果時間允許可以再配合客戶進行必要的系統(tǒng)功能測試锭亏。
19纠吴、一個測試工程師應(yīng)該具備哪些素質(zhì)和技能?
1-掌握基本的測試基礎(chǔ)理論
2-本著找出軟件存在的問題的態(tài)度進行測試慧瘤,不要以挑刺的形象出現(xiàn)
3-可熟練閱讀需求規(guī)格說明書等文檔
4-以用戶的觀點看問題
5-有強烈的質(zhì)量意識
6-細心和責(zé)任心
7-良好的有效的溝通方式(與開發(fā)人員及客戶)
8-具有以往的測試經(jīng)驗?zāi)軌蚣皶r準確的判斷出高危險區(qū)在何處
20戴已、做好軟件測試的一些關(guān)鍵點
1-測試人員必須經(jīng)過測試基礎(chǔ)知識和理論的相關(guān)培訓(xùn)
2-測試人員必須熟悉系統(tǒng)功能和業(yè)務(wù)
3-測試要有計劃,而且測試方案要和整個項目計劃協(xié)調(diào)好
4-必須實現(xiàn)編寫測試用例锅减,測試執(zhí)行階段必須根據(jù)測試用例進行
5-易用性糖儡,功能,分支怔匣,邊界休玩,性能等功能行和非功能性需求都要進行測試
6-對于復(fù)雜的流程一定要進行流程分支,組合條件分析劫狠,再進行等價類劃分準備相關(guān)測試數(shù)據(jù)
7-測試設(shè)計的一個重要內(nèi)容是要準備好具體的測試數(shù)據(jù),清楚這個測試數(shù)據(jù)是測試那個場景或分支的永部。
8-個人任務(wù)平均每三個測試用例至少應(yīng)該發(fā)現(xiàn)一個BUG独泞,否則只能說明測試用例質(zhì)量不好
9-除了每天構(gòu)建的重復(fù)測試可以考慮測試自動化外,其他暫時都不要考慮去自動話
21苔埋、軟件測試員自身素質(zhì)培養(yǎng)
1-首先懦砂,應(yīng)對軟件測試感興趣和對自己有自信,如果具備了這兩點组橄,那么在開發(fā)過程中不管遇到什么樣的困難荞膘,相信一定能克服
2-善于懷疑,實際上沒有絕對正確的玉工,總有錯誤的地方羽资,具有叛逆心理,別人認為不可能發(fā)生的事情遵班,我卻認為可能發(fā)生屠升,別人認為是對的潮改,我卻認為不是對的。
3-打破沙鍋問到底的精神腹暖,對于只出現(xiàn)過一次的BUG一定要找出原因汇在,不解決誓不罷休。
4-保持一個良好的心情脏答,否則可能無法把測試做好糕殉。不要把生活中的不愉快的情緒帶到工作中來。
5-做測試時要細心殖告,不是所有的BUG都能很容易找出阿蝶,一定要細心才能找到這些BUG。
6-靈活一些丛肮,聰明一點赡磅,多造一些容易產(chǎn)生BUG的例子。
7-在有條件的情況下宝与,多和客戶溝通焚廊,他們身上有你所需要的。
8-設(shè)身處地為客戶著想习劫,從他們的角度去測試系統(tǒng)咆瘟。
9-不要讓程序員,以“這種情況不可能發(fā)生”這句話說服你诽里,相反袒餐,你應(yīng)該去說服他,告訴他在客戶心理谤狡,并不是這樣的
10-考慮問題要全面灸眼,結(jié)合客戶的需求,業(yè)務(wù)流程和系統(tǒng)的架構(gòu)等多方面考慮問題墓懂。
11-提出問題不要復(fù)雜化焰宣,這點和前面矛盾,如果你是一個新手捕仔,暫時不要管這點匕积,因為最終將有你的小組成員討論解決。
12-追求完美榜跌,對于新測試員來說闪唆,努力追求完美,這對你很好钓葫,盡管有些事情無法做到悄蕾,但你應(yīng)該嘗試。
13-幽默感础浮,能和開發(fā)小組很好的溝通是關(guān)鍵笼吟,試著給你的開發(fā)小組找一個BUG殺手库物,或?qū)λ麄冋f“我簡直不敢相信,你寫的程序居然到現(xiàn)在沒有找到BUG”贷帮。
22戚揭、為什要在一個團隊中開展測試工作?
因為沒有經(jīng)過測試的軟件很難在發(fā)布之前知道該軟件的質(zhì)量撵枢,就好比ISO質(zhì)量認證一樣民晒,測試同樣也需要質(zhì)量認證,這個時候就需要在團隊中開展軟件測試的工作锄禽。在測試的過程中發(fā)現(xiàn)軟件中存在的問題潜必,及時讓開發(fā)人員得知并修改問題,在即將發(fā)布時沃但,從測試報告中得出軟件的質(zhì)量情況磁滚。
23、你所熟悉的軟件測試類型有哪些?
測試類型有:功能測試宵晚、性能測試垂攘、界面測試
功能測試在測試工作中占有比例最大,功能測試也叫黑盒測試淤刃。
性能測試是通過自動化的測試工具模擬多種正常晒他、峰值以及異常負載條件來對系統(tǒng)的各項性能指標進行測試。負載測試和壓力測試都屬于性能測試逸贾,兩者可以結(jié)合進行陨仅。
界面測試,界面是軟件與用戶交互的最直接的層铝侵,界面的好壞決定用戶對軟件的第一印象灼伤。
區(qū)別在于,功能測試關(guān)注產(chǎn)品的所有功能咪鲜,要考慮到每個細節(jié)功能饺蔑,每個可能存在的功能問題。性能測試主要關(guān)注產(chǎn)品整體的多用戶并發(fā)下的穩(wěn)定性和健壯性嗜诀。界面測試則關(guān)注與用戶體驗相關(guān)內(nèi)容,用戶使用該產(chǎn)品的時候是否已用孔祸,是否易懂隆敢,是否規(guī)范(用戶無意輸入無效的數(shù)據(jù),當然考慮到體驗性崔慧,不能太粗魯?shù)膹棾鼍?拂蝎。做某個性能測試的時候,首先它可能是個功能點惶室,首先要保證她的功能是沒有問題的温自,然后再考慮性能的問題玄货。
24、你認為做好測試用例設(shè)計工作的關(guān)鍵是什么
白盒測試用例設(shè)計的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)構(gòu)悼泌。黑盒測試用例設(shè)計的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口松捉。不可能做到完全測試,以最少的用例在合理的時間內(nèi)發(fā)現(xiàn)最多的問題馆里。軟件的黑盒測試意味著測試要在軟件的接口處進行隘世,這種方法是把測試對象看作是一個黑盒子,測試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性鸠踪,只依據(jù)程序的需求規(guī)格說明書丙者,檢查程序的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或者數(shù)據(jù)驅(qū)動測試营密。黑盒測試主要是為了發(fā)現(xiàn)以下幾類錯誤:械媒、
1-是否有不正確或遺漏的功能
2-在接口上,輸入是否能正確的接受评汰?能否輸出正確的結(jié)果纷捞。
3-是否有數(shù)據(jù)結(jié)構(gòu)錯誤或外部信息(例如數(shù)據(jù)文件)訪問錯誤
4-性能上是否能夠滿足要求
5-是否有初始化或終止性錯誤
軟件的白盒測試是對軟件的過程性細節(jié)做細致的檢查。這種方法是把測試對象看作一個打開的盒子键俱,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)和有關(guān)信息兰绣,設(shè)計或者選擇測試用例,對程序所有邏輯路徑進行測試编振。通過在不同點檢查程序狀態(tài)缀辩,確定實際狀態(tài)是否與預(yù)期的狀態(tài)一直。因此白盒測試又稱為結(jié)合測試或邏輯驅(qū)動測試踪央。白盒測試主要是想對程序模塊進行如下檢查:
1-對程序模塊的所有獨立的執(zhí)行路徑至少測試一遍臀玄。
2-對所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測一遍畅蹂。
3-在循環(huán)的邊界和運行的界限內(nèi)執(zhí)行循環(huán)體健无。
4-測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,等等液斜。
25累贤、請詳細介紹一下各種測試類型的含義
1-單元測試(模塊測試)是開發(fā)者編寫的一小段代碼,用于檢驗被測試代碼的一個很小的少漆、很明確的功能是否正確臼膏。通常而言,一個單元測試是用于判斷某個特定條件(或者場景)下某個特定函數(shù)的行為示损。單元測試是由程序員自己來完成渗磅,最終受益的也是程序員自己。可以這么說始鱼,程序員有責(zé)任編寫功能代碼仔掸,同時也就有責(zé)任為自己的代碼編寫單元測試。執(zhí)行單元測試医清,就是為了證明這段代碼的行為和我們期望的一致起暮。
2-集成測試(也叫組裝測試、聯(lián)合測試)是單元測試的邏輯擴展状勤。它最簡單的形式是:兩個已經(jīng)經(jīng)過測試的單元組合成一個組件鞋怀,并且測試它們之間的接口。從這一層上講持搜,組件是指多個單元的集成聚合辫红。在現(xiàn)實方案中宏娄,許多單元組合成組件垛吗,而這些組件又聚合成程序的更大部分瓦灶。方法是測試片段的組合,并最終擴展進程贫导,將您的模塊與其他組的模塊一起測試抛猫。最后,將構(gòu)成進程的所有模塊一起測試孩灯。
3-系統(tǒng)測試是將經(jīng)過測試的子系統(tǒng)裝配成一個完整系統(tǒng)來測試闺金。它是檢驗系統(tǒng)是否確實能提供系統(tǒng)方案說明書中制定功能的有效方法。(常見的聯(lián)調(diào)測試)峰档。系統(tǒng)測試的目的是對最終軟件系統(tǒng)進行全面的測試败匹,確保最終軟件系統(tǒng)滿足產(chǎn)品需求而遵循系統(tǒng)設(shè)計。
4-驗收測試是部署軟件之前的最后一個測試操作讥巡。驗收測試的目的是確保軟件準備就緒掀亩,并且可以讓用戶將其執(zhí)行軟件的既定功能和任務(wù)。驗收測試是向未來的用戶表明系統(tǒng)能夠像預(yù)訂要求那樣工作欢顷。經(jīng)集成測試后槽棍,已經(jīng)按照設(shè)計把所有的模塊組裝成一個完整的軟件系統(tǒng),接口錯誤也已經(jīng)基本排除了抬驴,接著就應(yīng)該進一步驗證軟件的有效性炼七,這就是驗收測試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣布持。
26豌拙、測試計劃工作的目的是什么?測試計劃工作的內(nèi)容都包括什么鳖链?其中哪些是最重要的?
軟件測試計劃是知道測試過程的綱領(lǐng)性文件,包含了產(chǎn)品概述芙委、測試策略逞敷、測試方法、測試區(qū)域灌侣、測試配置推捐、測試周期、測試資源侧啼、測試交流牛柒、風(fēng)險分析等內(nèi)容。借助軟件測試計劃痊乾,參與測試的項目成員皮壁,尤其是測試管理人員,可以明確測試任務(wù)和測試方法哪审,保持測試實施過程的順暢溝通蛾魄,跟蹤和控制測試進度,應(yīng)對測試過程中的各種變更湿滓。
測試計劃和測試詳細規(guī)格滴须、測試用例之間是戰(zhàn)略和戰(zhàn)術(shù)的關(guān)系,測試計劃主要從宏觀上規(guī)劃測試活動的范圍叽奥、方法和資源配置扔水,而測試詳細規(guī)格、測試用例是完成測試任務(wù)的具體戰(zhàn)術(shù)朝氓。所以其中最重要的是測試策略和測試方法(最好能先評審)魔市。
27、您認為做好測試計劃工作的關(guān)鍵是什么膀篮?
1-明確測試的目標嘹狞,增強測試計劃的實用性
編寫軟件測試計劃的重要目的就是使測試過程能夠發(fā)現(xiàn)更多的軟件缺陷,因此軟件測試計劃的價值取決于它對幫助管理測試項目誓竿,并且找出軟件潛在的缺陷磅网。因此,軟件測試計劃中的測試范圍必須高度覆蓋功能需求筷屡,測試方法必須切實可行涧偷,測試工具并且具有較高的實用性,便于使用毙死,生成的測試結(jié)果準確
2-堅持“5W”規(guī)則燎潮,明確內(nèi)容與過程
“5W”規(guī)則指的是“WHAT(做什么)”、“WHY(為什么做)”扼倘、"WHEN(何時做)"确封、"WHERE(在哪里)"除呵、"HOW(如何做)"。利用“5W"規(guī)則創(chuàng)建軟件測試計劃爪喘,可以幫助測試團隊理解測試的目的(WHY)颜曾,明確測試的范圍和內(nèi)容(WHAT),確定測試的開始和結(jié)束日期(WHEN)秉剑,指出測試的方法和工具(HOW)泛豪,給出測試文檔和軟件存放的位置(WHERE)。
3-采用評審和更新機制侦鹏,保證測試計劃滿足實際需求
測試計劃完成后诡曙,如果沒有經(jīng)過評審,直接發(fā)送給測試團隊略水,測試計劃內(nèi)容的可能不準確或遺漏測試內(nèi)容价卤,或者軟件需求變更引起測試范圍的增減,而測試計劃的內(nèi)容沒有及時更新聚请,誤導(dǎo)測試執(zhí)行人員荠雕。
4-分別創(chuàng)建測試計劃與測試詳細規(guī)格、測試用例
應(yīng)把詳細的測試技術(shù)指標包含到獨立創(chuàng)建的測試詳細規(guī)格文檔驶赏,把用于指導(dǎo)測試小組執(zhí)行過程的測試用例放到獨立創(chuàng)建的測試用例文檔或測試用例管理數(shù)據(jù)庫中炸卑。測試計劃和測試詳細規(guī)格、測試用例之間是戰(zhàn)略和戰(zhàn)術(shù)的關(guān)系煤傍,測試計劃主要從宏觀上規(guī)劃測試活動的范圍盖文、方法和資源配置,而測試詳細規(guī)格蚯姆、測試用例是完成測試任務(wù)的具體戰(zhàn)術(shù)五续。
28、當開發(fā)人員說不是BUG時龄恋,你如何應(yīng)付疙驾?
開發(fā)人員說不是BUG,有2種情況郭毕,一是需求沒有確定它碎,所以我可以這么做,這個時候可以找來產(chǎn)品經(jīng)理進行確認显押,需不需要改動扳肛。3方商量確定好后再看要不要改。二是這種情況不可能發(fā)生乘碑,所以不需要修改挖息,這個時候,我可以先盡可能的說出是BUG的一句是什么兽肤?如果被用戶發(fā)現(xiàn)或出了問題套腹,會有什么不良結(jié)果绪抛?程序員可能會給你很多理由,你可以對他的解釋進行反駁电禀。如果還是不行睦疫,那我可以給這個問題提出來,跟開發(fā)經(jīng)理和測試經(jīng)理進行確認鞭呕,如果要修改就改,如果不要修改就不改宛官。其實有些真的不是BUG葫松,我也只是建議的方式寫進測試文檔中,如果開發(fā)人員不修改也沒有大問題底洗。如果不是BUG的話腋么,一定要堅持自己的立場,讓問題得到最后的確認亥揖。
29珊擂、你自認為測試的優(yōu)勢在哪里?
優(yōu)勢在于我對測試堅定不移的信心和熱情费变,雖然經(jīng)驗還不足摧扇,但測試需要的基本技能我有信心在工作中得以發(fā)揮。
30挚歧、什么是系統(tǒng)瓶頸扛稽?
瓶頸主要是指整個軟硬件構(gòu)成的軟件系統(tǒng)某一方面或者幾個方面能力不能滿足用戶的特定業(yè)務(wù)要求,“特定”是指瓶頸會在某些條件下會出現(xiàn)滑负,因為畢竟大多數(shù)系統(tǒng)在投入前在张。
嚴格的從技術(shù)角度講,所有的系統(tǒng)都會有瓶頸矮慕,因為大多數(shù)系統(tǒng)的資源配置不是協(xié)調(diào)的帮匾,例如CPU使用率剛好達到100%時,內(nèi)存也正好耗盡的系統(tǒng)不是很多見痴鳄。因此我們討論系統(tǒng)瓶頸要從應(yīng)用的角度討論:關(guān)鍵是看系統(tǒng)能否滿足用戶需求瘟斜。在用戶極限使用系統(tǒng)的情況下,系統(tǒng)的響應(yīng)仍然正常夏跷,我們可以認為改系統(tǒng)沒有瓶頸或者瓶頸不會影響用戶工作哼转。
因此我們測試系統(tǒng)瓶頸主要是實現(xiàn)下面兩個目的:
-發(fā)現(xiàn)“表面”的瓶頸。主要是模擬用戶的操作槽华,找出用戶極限使用系統(tǒng)時的瓶頸壹蔓,然后解決瓶頸,這是性能測試的基本目標猫态。
-發(fā)現(xiàn)潛在的瓶頸并解決佣蓉,保證系統(tǒng)的長期穩(wěn)定性披摄。主要是考慮用戶在將來擴展系統(tǒng)或者業(yè)務(wù)發(fā)生變化時,系統(tǒng)能夠適應(yīng)變化勇凭。滿足用戶目前需求的系統(tǒng)不是最好的疚膊,我們設(shè)計系統(tǒng)的目標是在保證系統(tǒng)整個軟件生命周期能夠不斷適應(yīng)用戶的變化,或者通過簡單擴展系統(tǒng)就可以適應(yīng)新的變化虾标。
31寓盗、文檔測試主要包含什么內(nèi)容?
在國內(nèi)軟件開發(fā)管理中璧函,文檔管理幾乎是最弱的一項傀蚌,因而在測試工作中特別容易忽略文檔測試也就不足為奇了。要想給用戶提供完整的產(chǎn)品蘸吓,文檔測試是必不可少的善炫。文檔測試一般注重下面幾個方面:
文檔的完整性:主要是測試文檔內(nèi)容的全面性與完整性,從總體上把握文檔的質(zhì)量库继。例如用戶手冊應(yīng)該包括軟件的所有功能模塊箩艺。
描述與軟件實際情況的一致性:主要測試軟件文檔與軟件實際的一致程度。例如用戶手冊基本完整后宪萄,我們還要注意用戶手冊與實際功能描述是否一致艺谆。因為文檔往往跟不上軟件版本的更新速度。
易理解性:主要是檢查文檔對關(guān)鍵拜英、重要的操作有無圖文說明擂涛,文字、圖表是否易于理解聊记。對于關(guān)鍵撒妈、重要的操作僅僅只有文字說明肯定是不夠的,應(yīng)該附有圖表使說明更為直觀和明了排监。
文檔中提供操作的實例:這項檢查內(nèi)容主要針對用戶手冊狰右。對主要功能和關(guān)鍵操作提供的應(yīng)用實例是否豐富,提供的實例描述是否詳細舆床。只有簡單的圖文說明棋蚌,而無實例的用戶手冊看起來就像是軟件界面的簡單拷貝,對于用戶來說挨队,實際上沒有什么幫助谷暮。
印刷與包裝質(zhì)量:主要是檢查軟件文檔的商品化程度。有些用戶手冊是簡單打印盛垦、裝訂而成湿弦,過于粗糙,不易于用戶保存腾夯。優(yōu)秀的文檔例如用戶手冊和技術(shù)白皮書颊埃,應(yīng)提供商品化包裝蔬充,并且印刷精美。
32班利、功能測試用例需要詳細到什么程度才是合格的饥漫?
這個問題也是測試工程師經(jīng)常問的問題。有人主張測試用例詳細到每個步驟執(zhí)行什么都要寫出來罗标,目的是即使一個不了解系統(tǒng)的新手都可以按照測試用例來執(zhí)行工作庸队。主張這類寫法的人還可以舉出例子:歐美、日本等軟件外包文檔都是這樣做的闯割。
另外一種觀點就是主張寫的粗些皿哨,類似于編寫測試大綱。主張這種觀點的人是因為軟件開發(fā)需求管理不規(guī)范纽谒,變動十分頻繁,因而不能按照歐美的高標準來編寫測試用例如输。這樣的測試用例容易維護鼓黔,可以讓測試執(zhí)行人員有更大的發(fā)揮空間。
實際上不见,軟件測試用例的詳細程度首先要以覆蓋到測試點為基本要求澳化。舉個例子:“用戶登陸系統(tǒng)”的測試用例可以不寫出具體的執(zhí)行數(shù)據(jù),但是至少要寫出五種以上情況()稳吮,如果只用一句話覆蓋了這個功能是不合格的測試用例缎谷。覆蓋功能點不是指列出功能點,而是要寫出功能點的各個方面(如果組合情況較多時可以采用等價劃分)灶似。
另一個影響測試用例的就是組織的開發(fā)能力和測試對象特點列林。如果開發(fā)力量比較落后,編寫較詳細的測試用例是不現(xiàn)實的酪惭,因為根本沒有那么大的資源投入希痴,當然這種情況很隨著團隊的發(fā)展而逐漸有所改善。測試對象特點重點是指測試對象在進度春感、成本等方面的要求砌创,如果進度較緊張的情況下,是根本沒有時間寫出高質(zhì)量的測試用例的鲫懒,甚至有些時候測試工作只是一種輔助工作嫩实,因而不編寫測試用例。
因此窥岩,測試用例的編寫要根據(jù)測試對象特點甲献、團隊的執(zhí)行能力等各個方面綜合起來決定編寫策略。最后要注意的是測試人員一定不能抱怨颂翼,力爭在不斷提高測試用例編寫水平的同時竟纳,不斷地提高自身能力撵溃。
33、配置和兼容性測試的區(qū)別是什么锥累?
配置測試的目的是保證軟件在其相關(guān)的硬件上能夠正常運行缘挑,而兼容性測試主要是測試軟件能否與不同的軟件正確協(xié)作。
配置測試的核心內(nèi)容就是使用各種硬件來測試軟件的運行情況桶略,一般包括:
(1)軟件在不同的主機上的運行情況语淘,例如Dell和Apple;
(2)軟件在不同的組件上的運行情況际歼,例如開發(fā)的撥號程序要測試在不同廠商生產(chǎn)的Modem上的運行情況惶翻;
(3)不同的外設(shè);
(4)不同的接口鹅心;
(5)不同的可選項吕粗,例如不同的內(nèi)存大小旭愧;
兼容性測試的核心內(nèi)容:
(1)測試軟件是否能在不同的操作系統(tǒng)平臺上兼容颅筋;
(2)測試軟件是否能在同一操作系統(tǒng)平臺的不同版本上兼容;
(3)軟件本身能否向前或者向后兼容输枯;
(4)測試軟件能否與其它相關(guān)的軟件兼容议泵;
(5)數(shù)據(jù)兼容性測試,主要是指數(shù)據(jù)能否共享桃熄;
配置和兼容性測試通稱對開發(fā)系統(tǒng)類軟件比較重要先口,例如驅(qū)動程序、操作系統(tǒng)瞳收、數(shù)據(jù)庫管理系統(tǒng)等碉京。具體進行時仍然按照測試用例來執(zhí)行。
34螟深、軟件文檔測試主要包含什么收夸?
隨著軟件文檔系統(tǒng)日益龐大,文檔測試已經(jīng)成為軟件測試的重要內(nèi)容血崭。文檔測試對象主要如下:
-包裝文字和圖形卧惜;
-市場宣傳材料、廣告以及其它插頁夹纫;
-授權(quán)咽瓷、注冊登記表;
-最終用戶許可協(xié)議舰讹;
-安裝和設(shè)置向?qū)В?/p>
-用戶手冊茅姜;
-聯(lián)機幫助;
-樣例、示范例子和模板钻洒;
-……
文檔測試的目的是提高易用性和可靠性奋姿,降低支持費用,因為用戶通過文檔就可以自己解決問題素标。因文檔測試的檢查內(nèi)容主要如下:
-讀者對象——主要是文檔的內(nèi)容是否能讓該級別的讀者理解称诗;
-術(shù)語——主要是檢查術(shù)語是否適合讀者;
-內(nèi)容和主題——檢查主題是否合適头遭、是否丟失寓免、格式是否規(guī)范等;
-圖標和屏幕抓圖——檢查圖表的準確度和精確度计维;
-樣例和示例——是否與軟件功能一致袜香;
-拼寫和語法;
-文檔的關(guān)聯(lián)性——是否與其它相關(guān)文檔的內(nèi)容一致鲫惶,例如與廣告信息是否一致蜈首;
文檔測試是相當重要的一項測試工作,不但要給予充分的重視欠母,更要要認真的完成欢策,象做功能測試一樣來對待文檔測試。
35艺蝴、沒有產(chǎn)品說明書和需求文檔地情況下能夠進行黑盒測試嗎?
這個問題是國內(nèi)測試工程師經(jīng)常遇到的問題鸟废,根源就是國內(nèi)軟件開發(fā)文檔管理不規(guī)范猜敢,對變更的管理方法就更不合理了。實際上沒有任何文檔的時候盒延,測試人員是能夠進行黑盒測試的缩擂,這種測試方式我們可以稱之為探索測試,具體做法就是測試工程師根據(jù)自己的專業(yè)技能添寺、領(lǐng)域知識等不斷的深入了解測試對象胯盯、理解軟件功能,進而發(fā)現(xiàn)缺陷计露。
在這種做法基本上把軟件當成了產(chǎn)品說明書博脑,測試過程中要和開發(fā)人員不斷的進行交流。尤其在作項目的時候票罐,進度壓力比較大叉趣,可以作為加急測試方案。最大的風(fēng)險是不知道有些特性是否被遺漏该押。
36疗杉、測試中的“殺蟲劑怪事”是指什么?
“殺蟲劑怪事”一詞由BorisBeizer在其編著的《軟件測試技術(shù)》第二版中提出蚕礼。用于描述測試人員對同一測試對象進行的測試次數(shù)越多烟具,發(fā)現(xiàn)的缺陷就會越來越少的現(xiàn)象梢什。就像老用一種農(nóng)藥,害蟲就會有免疫力朝聋,農(nóng)藥發(fā)揮不了效力嗡午。這種現(xiàn)象的根本原因就是測試人員對測試軟件過于熟悉,形成思維定勢玖翅。
為了克服這種現(xiàn)象翼馆,測試人員需要不斷編寫新的測試程序或者測試用例,對程序的不同部分進行測試金度,以發(fā)現(xiàn)更多的缺陷应媚。也可以引用新人來測試軟件,剛剛進來的新手往往能發(fā)現(xiàn)一些意想不到的問題猜极。
37中姜、在配置測試中,如何判斷發(fā)現(xiàn)的缺陷是普通問題還是特定的配置問題跟伏?
在進行配置測試時丢胚,測試工程師仍然會發(fā)現(xiàn)一些普通的缺陷,也就是與配置環(huán)境無關(guān)的缺陷受扳。因此判斷新發(fā)現(xiàn)的問題携龟,需要在不同的配置中重新執(zhí)行發(fā)現(xiàn)軟件缺陷的步驟,如果軟件缺陷不出現(xiàn)了勘高,就可能是配置缺陷峡蟋;如果在所有的配置中都出現(xiàn),就可能是普通缺陷华望。
需要注意的是蕊蝗,配置問題可以在一大類配置中出現(xiàn)。例如赖舟,撥號程序可能在所有的外置Modem中都存在問題蓬戚,而內(nèi)置的Modem不會有任何問題。
38宾抓、為什么盡量不要讓時間有富裕的員工去做一些測試子漩?
表面上看這體現(xiàn)了管理的效率和靈活性,但實際上也體現(xiàn)了管理者對測試的輕視石洗。測試和測試的人有很大關(guān)系痛单。測試工作人員應(yīng)該是勤奮并富有耐心,善于學(xué)習(xí)劲腿、思考和發(fā)現(xiàn)問題旭绒,細心有條理,總結(jié)問題,如果具備這樣的優(yōu)點挥吵,做其它工作同樣也會很出色重父,因此這里還有一個要求,就是要喜歡測試這項工作忽匈。如果他是專職的房午,那么肯定更有經(jīng)驗和信心。國內(nèi)的小伙子好象都喜歡做程序員丹允,兩者工作性質(zhì)不同郭厌,待遇不同,地位不同雕蔽,對自我實現(xiàn)的價值的認識也不同折柠,這是行業(yè)的一個需要改善的問題。如果只是為了完成任務(wù)而完成任務(wù)批狐,或者發(fā)現(xiàn)了幾個問題就覺得滿意了扇售,這在任何其它工作中都是不行的。
39嚣艇、完全測試程序是可能的嗎承冰?
軟件測試初學(xué)者可能認為拿到軟件后需要進行完全測試,找到全部的軟件缺陷食零,使軟件“零缺陷”發(fā)布困乒。實際上完全測試是不可能的。主要有以下一個原因:
-完全測試比較耗時贰谣,時間上不允許娜搂;
-完全測試通常意味著較多資源投入,這在現(xiàn)實中往往是行不通的冈爹;
-輸入量太大涌攻,不能一一進行測試欧引;
-輸出結(jié)果太多频伤,只能分類進行驗證;
-軟件實現(xiàn)途徑太多芝此;
-軟件產(chǎn)品說明書沒有客觀標準憋肖,從不同的角度看,軟件缺陷的標準不同婚苹;
因此測試的程度要根據(jù)實際情況確定岸更。
40、軟件測試的風(fēng)險主要體現(xiàn)在哪里膊升?
我們沒有對軟件進行完全測試怎炊,實際就是選擇了風(fēng)險,因為缺陷極有可能存在沒有進行測試的部分。舉個例子评肆,程序員為了方便债查,在調(diào)試程序時會彈出一些提示信息框,而這些提示只在某種條件下會彈出瓜挽,碰巧程序發(fā)布前這些代碼中的一些沒有被注釋掉盹廷。在測試時測試工程師又沒有對其進行測試。如果客戶碰到它久橙,這將是代價昂貴的缺陷俄占,因為交付后才被客戶發(fā)現(xiàn)。
因此淆衷,我們要盡可能的選擇最合適的測試量缸榄,把風(fēng)險降低到最小。
41吭敢、發(fā)現(xiàn)的缺陷越多碰凶,說明軟件缺陷越多嗎?
這是一個比較常見的現(xiàn)象鹿驼。測試工程師在沒有找到缺陷前會絞盡腦汁的思考欲低,但是找到一個后,會接二連三的發(fā)現(xiàn)很多缺陷畜晰,頗有個人成就感砾莱。其中的原因主要如下:
-代碼復(fù)用、拷貝代碼導(dǎo)致程序員容易犯相同的錯誤凄鼻。類的繼承導(dǎo)致所有的子類會包含基類的錯誤腊瑟,反復(fù)拷貝同一代碼意味可能也復(fù)制了缺陷。
-程序員比較勞累是可以導(dǎo)致某些連續(xù)編寫的功能缺陷較多块蚌。程序員加班是一種司空見慣的現(xiàn)象闰非,因此體力不只時容易編寫一些缺陷較多的程序。而這些連續(xù)潛伏缺陷恰恰時測試工程師大顯身手的地方峭范。
“缺陷一個連著一個”不是一個客觀規(guī)律财松,只是一個常見的現(xiàn)象。如果軟件編寫的比較好纱控,這種現(xiàn)象就不常見了辆毡。測試人員只要嚴肅認真的測試程序就可以了。
42甜害、所有的軟件缺陷都能修復(fù)嗎舶掖?所有的軟件缺陷都要修復(fù)嗎?
從技術(shù)上講尔店,所有的軟件缺陷都是能夠修復(fù)的眨攘,但是沒有必要修復(fù)所有的軟件缺陷主慰。測試人員要做的是能夠正確判斷什么時候不能追求軟件的完美。對于整個項目團隊鲫售,要做的是對每一個軟件缺陷進行取舍党巾,根據(jù)風(fēng)險決定那些缺陷要修復(fù)耻涛。發(fā)生這種現(xiàn)象的主要原因如下:
-沒有足夠的時間資源。在任何一個項目中,通常情況下開發(fā)人員和測試人員都是不夠用的祟滴,而且在項目中沒有預(yù)算足夠的回歸測試時間豁辉,再加上修改缺陷可能引入新的缺陷庶橱,因此在交付期限的強大壓力下夷恍,必須放棄某些缺陷的修改。
-有些缺陷只是特殊情況下出現(xiàn)棉安,這種缺陷處于商業(yè)利益考慮底扳,可以在以后升級中進行修復(fù)。
-不是缺陷的缺陷贡耽。我們經(jīng)常會碰到某些功能方面的問題被當成缺陷來處理衷模,這類問題可以以后有時間時考慮再處理。
最后要說的是蒲赂,缺陷是否修改要由軟件測試人員阱冶、項目經(jīng)理、程序員共同討論來決定是否修復(fù)滥嘴,不同角色的人員從不同的角度來思考木蹬,以做出正確的決定。
43若皱、軟件測試人員就是QA嗎镊叁?
軟件測試人員的職責(zé)是盡可能早的找出軟件缺陷,確保得以修復(fù)走触。而質(zhì)量保證人員(QA)主要職責(zé)是創(chuàng)建或者制定標準和方法晦譬,提高促進軟件開發(fā)能力和減少軟件缺陷。測試人員的主要工作是測試互广,質(zhì)量保證人員日常工作重要內(nèi)容是檢查與評審敛腌,測試工作也是測試保證人員的工作對象。
軟件測試和質(zhì)量是相輔相成的關(guān)系兜辞,都是為了提高軟件質(zhì)量而工作迎瞧。
44夸溶、如何減少測試人員跳槽帶來的損失逸吵?
在IT行業(yè)里跳槽已經(jīng)是一種司空見慣的現(xiàn)象,而且跳槽無論給公司還是給個人都會帶來一定的損失缝裁。測試隊伍也無疑會面臨跳槽的威脅扫皱,作為測試經(jīng)理管理者足绅,只有從日常工作中開始做起,最能最大限度的減少損失韩脑。建議我們從以下兩個方面做起:
-加強部門內(nèi)員工之間的互相學(xué)習(xí)氢妈,互相學(xué)習(xí)是建立學(xué)習(xí)型組織的基本要求,是知識互相轉(zhuǎn)移的過程段多。在此基礎(chǔ)上首量,可以把個人擁有的技術(shù)以知識的形式沉積下來,也就完成了隱性知識到顯性知識的轉(zhuǎn)化进苍。
-通常情況下加缘,企業(yè)能為員工提供足夠大的發(fā)展空間時,如果不是待遇特別低觉啊,員工都不會主動離開企業(yè)拣宏。因此我們要想留住員工,管理者就應(yīng)該把員工的個人成長和企業(yè)的發(fā)展聯(lián)系起來杠人,為員工設(shè)定合理發(fā)展規(guī)劃并付諸實現(xiàn)勋乾。不過這項要求做起來比較,要有比較好的企業(yè)文化為依托嗡善。
45辑莫、測試產(chǎn)品與測試項目的區(qū)別是什么?
習(xí)慣上把開發(fā)完成后進行商業(yè)化罩引、幾乎不進行代碼修改就可以售給用戶使用的軟件成為軟件產(chǎn)品摆昧,也就是可以買“賣拷貝”的軟件,例如Windows2000蜒程。而通常把針對一個或者幾個特定的用戶而開發(fā)的軟件成為軟件項目绅你,軟件項目是一種個性化的產(chǎn)品,可以是按照用戶要求全部重新開發(fā)昭躺,也可以修改已有的軟件產(chǎn)品來滿足特定的用戶需求忌锯。項目和產(chǎn)品的不同特點,決定我們測試產(chǎn)品和測試項目仍然會有很多不同的地方:
-質(zhì)量要求不同领炫。通常產(chǎn)品的質(zhì)量要高一些偶垮,修復(fù)發(fā)布后產(chǎn)品的缺陷成本較高,甚至?xí)砗芏嘭撁娴挠绊懙酆椤6鲰椖客ǔC嫦蚰骋挥脩羲贫妫m然質(zhì)量越高越好,但是一般只要滿足用戶要求就可以了葱峡。
-測試資源投入多少不同砚哗。做軟件產(chǎn)品通常是研發(fā)中心來開發(fā),進度壓力要小些砰奕。同時由于質(zhì)量要求高蛛芥,因此會投入較多的人力提鸟、物力資源。
-項目最后要和用戶共同驗收測試仅淑,這是產(chǎn)品測試不具有的特點称勋。
此外,測試產(chǎn)品與測試項目在缺陷管理方面涯竟、測試策略制定都會有很大不同赡鲜,測試管理者應(yīng)該結(jié)合具體的環(huán)境,恰如其分的完成工作庐船。
46蝗蛙、和用戶共同測試(UAT測試)的注意點有哪些?
軟件產(chǎn)品在投產(chǎn)前醉鳖,通常都會進行用戶驗收測試捡硅。如果用戶驗收測試沒有通過,直接結(jié)果就是那不到“Money”盗棵,間接影響是損害了公司的形象壮韭,而后者的影響往往更嚴重。根據(jù)作者的經(jīng)驗纹因,用戶驗收測試一定要讓用戶滿意喷屋。
實際上用戶現(xiàn)場測試更趨于是一種演示。在不欺騙用戶的前提下瞭恰,我們向用戶展示我們軟件的優(yōu)點屯曹,最后讓“上帝”滿意并欣然掏出“銀子”才是我們的目標。因此用戶測試要注意下面的事項:
(1)用戶現(xiàn)場測試不可能測試全部功能惊畏,因此要測試核心功能恶耽。這需要提前做好準備,這些核心功能一定要預(yù)先經(jīng)過測試颜启,證明沒有問題才可以和用戶共同進行測試偷俭。測試核心模塊的目的是建立用戶對軟件的信心。當然如果這些模塊如果問題較多缰盏,不應(yīng)該進行演示涌萤。
(2)如果某些模塊確實有問題,我們可以演示其它重要的業(yè)務(wù)功能模塊口猜,必要時要向用戶做成合理的解釋负溪。爭得時間后,及時修改缺陷來彌補济炎。
(3)永遠不能欺騙用戶川抡,蒙混過關(guān)。道理很簡單冻辩,因為軟件是要給用戶用的猖腕,問題早晚會暴露出來,除非你可以馬上修改恨闪。
和用戶進行測試還要注意各種交流技巧倘感,爭取不但短期利益得到了滿足,還要為后面得合作打好基礎(chǔ)咙咽。
47老玛、如何編寫提交給用戶的測試報告?
隨著測試工作越來越受重視钧敞,開發(fā)團隊向客戶提供測試文檔是不可避免的事情蜡豹。很多人會問:“我們可以把工作中的測試報告提供給客戶嗎?”答案是否定的溉苛。因為提供內(nèi)部測試報告镜廉,可能會讓客戶失去信心,甚至否定項目愚战。
測試報告一般分為內(nèi)部測試報告和外部測試報告娇唯。內(nèi)部報告是我們在測試工作中的項目文檔,反映了測試工作的實施情況寂玲,這里不過多討論塔插,讀者可以參考相關(guān)教材。這里主要討論一下外部測試報告的寫法拓哟,一般外部測試報告要滿足下面幾個要求:
-根據(jù)內(nèi)部測試報告進行編寫想许,一般可以摘錄;
-不可以向客戶報告嚴重缺陷断序,即使是已經(jīng)修改的缺陷流纹,開發(fā)中的缺陷也沒有必要讓客戶知道;
-報告上可以列出一些缺陷违诗,但必須是中級的缺陷捧颅,而且這些缺陷必須是修復(fù)的;
-報告上面的內(nèi)容盡量要真實可靠较雕;
-整個測試報告要仔細審閱碉哑,力爭不給項目帶來負面作用,尤其是性能測試報告亮蒋。
總之扣典,外部測試報告要小心謹慎的編寫。
48慎玖、測試工具在測試工作中是什么地位贮尖?
國內(nèi)的很多測試工程師對測試工具相當迷戀,尤其是一些新手趁怔,甚至期望測試工具可以取代手工測試湿硝。測試工具在測試工作中起的是輔助作用薪前,一般用來提高測試效率。自動化測試彌補了手工測試的不足关斜,減輕一定的工作量示括。實際上測試工具是無法替代大多數(shù)手工測試的,而一些諸如性能測試等自動化測試也是手工所不能完成的痢畜。
對于自動測試技術(shù)垛膝,應(yīng)當依據(jù)軟件的不同情況來分別對待,一般自動技術(shù)會應(yīng)用在引起大量重復(fù)性工作的地方丁稀、系統(tǒng)的壓力點吼拥、以及任何適合使用程序解決大批量輸入數(shù)據(jù)的地方。然后再尋找合適的自動測試工具线衫,或者自己開發(fā)測試程序凿可。一定不要為了使用測試工具而使用。
49授账、常見的測試用例設(shè)計方法都有哪些矿酵?請分別以具體的例子來說明這些方法在測試用例設(shè)計工作中的應(yīng)用。
1-等價類劃分
常見的軟件測試面試題劃分等價類: 等價類是指某個輸入域的子集合.在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的.并合理地假定:測試某等價類的代表值就等于對這一類其它值的測試.因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價類,在每一個等價類中取一個數(shù)據(jù)作為測試的輸入條件,就可以用少量代表性的測試數(shù)據(jù).取得較好的測試結(jié)果.等價類劃分可有兩種不同的情況:有效等價類和無效等價類.
2-邊界值分析法
邊界值分析方法是對等價類劃分方法的補充矗积。測試工作經(jīng)驗告訴我,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部.因此針對各種邊界情況設(shè)計測試用例,可以查出更多的錯誤.
使用邊界值分析方法設(shè)計測試用例,首先應(yīng)確定邊界情況.通常輸入和輸出等價類的邊界,就是應(yīng)著重測試的邊界情況.應(yīng)當選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值作為測試數(shù)據(jù).
3-錯誤推測法
基于經(jīng)驗和直覺推測程序中所有可能存在的各種錯誤, 從而有針對性的設(shè)計測試用例的方法.
錯誤推測方法的基本思想: 列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)他們選擇測試用例-例如, 在單元測試時曾列出的許多在模塊中常見的錯誤-以前產(chǎn)品測試中曾經(jīng)發(fā)現(xiàn)的錯誤等, 這些就是經(jīng)驗的總結(jié)全肮。還有, 輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況。輸入表格為空格或輸入表格只有一行-這些都是容易發(fā)生錯誤的情況棘捣」枷伲可選擇這些情況下的例子作為測試用例.
4-因果圖方法
前面介紹的等價類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系, 相互組合等-考慮輸入條件之間的相互組合,可能會產(chǎn)生一些新的情況-但要檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價類,他們之間的組合情況也相當多-因此必須考慮采用一種適合于描述對于多種條件的組合,相應(yīng)產(chǎn)生多個動作的形式來考慮設(shè)計測試用例-這就需要利用因果圖(邏輯模型)-因果圖方法最終生成的就是判定表-它適合于檢查程序輸入條件的各種組合情況.
5-正交表分析法
有時候,可能因為大量的參數(shù)的組合而引起測試用例數(shù)量上的激增乍恐,同時评疗,這些測試用例并沒有明顯的優(yōu)先級上的差距,而測試人員又無法完成這么多數(shù)量的測試茵烈,就可以通過正交表來進行縮減一些用例百匆,從而達到盡量少的用例覆蓋盡量大的范圍的可能性。
6-場景分析方法
指根據(jù)用戶場景來模擬用戶的操作步驟呜投,這個比較類似因果圖加匈,但是可能執(zhí)行的深度和可行性更好。
50仑荐、您認為做好測試用例設(shè)計工作的關(guān)鍵是什么雕拼?
白盒測試用例設(shè)計的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果
黑盒法用例設(shè)計的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測試粘招,以最少的用例在合理的時間內(nèi)發(fā)現(xiàn)最多的問題
51啥寇、詳細的描述一個測試活動完整的過程。
1-項目經(jīng)理通過和客戶的交流,完成需求文檔辑甜,由開發(fā)人員和測試人員共同完成需求文檔的評審衰絮,評審的內(nèi)容包括:需求描述不清楚的地方和可能有明顯沖突或者無法實現(xiàn)的功能的地方。項目經(jīng)理通過綜合開發(fā)人員磷醋,測試人員以及客戶的意見猫牡,完成項目計劃。然后sqa進入項目子檀,開始進行統(tǒng)計和跟蹤
2-開發(fā)人員根據(jù)需求文檔完成需求分析文檔镊掖,測試人員進行評審乃戈,評審的主要內(nèi)容包括是否有遺漏或者雙方理解不同的地方褂痰。測試人員完成測試計劃文檔,測試計劃包括的內(nèi)容上面有描述症虑。
3-測試人員根據(jù)修改好的需求分析文檔開始寫測試用例缩歪,同時開發(fā)人員完成概要設(shè)計文檔,詳細設(shè)計文檔谍憔。此兩份文檔成為測試人員撰寫測試用例的補充材料匪蝙。
4-測試用例完成后,測試和開發(fā)需要進行評審习贫。
5-測試人員搭建環(huán)境
6-開發(fā)人員提交第一個版本逛球,可能存在未完成功能,需要說明苫昌。測試人員進行測試颤绕,發(fā)現(xiàn)bug后提交給bugzilla。
7-開發(fā)提交第二個版本祟身,包括bug fix以及增加了部分功能奥务,測試人員進行測試。
8-重復(fù)上面的工作袜硫,一般是3-4個版本后bug數(shù)量減少氯葬,達到出貨的要求。
9-如果有客戶反饋的問題婉陷,需要測試人員協(xié)助重現(xiàn)以及回歸測試帚称。
52、以往是否曾經(jīng)從事過性能測試工作秽澳?請盡可能的詳細描述您以往的性能測試工作的完整過程世杀。
曾經(jīng)做過一套網(wǎng)管系統(tǒng)的性能測試,主要測試該軟件在同時管理大量終端的情況下肝集,在響應(yīng)時間瞻坝,cpu/磁盤/內(nèi)存等參數(shù)是否滿足要求。
也曾經(jīng)做過軟交換系統(tǒng)的呼叫性能測試,主要是測試軟交換系統(tǒng)在有大量呼叫的情況下所刀,響應(yīng)時間衙荐,呼叫成功率,cpu/磁盤/內(nèi)存等參數(shù)是否滿足設(shè)計要求浮创。
53忧吟、在您以往的工作中,一條軟件缺陷(或者叫bug)記錄都包含了哪些內(nèi)容斩披?如何提交高質(zhì)量的軟件缺陷(bug)記錄溜族?
1-在傳統(tǒng)的bugzilla中,bug描述應(yīng)該包括以下的信息
2-和bug產(chǎn)生對應(yīng)的軟件版本
3-開發(fā)的接口人員
4-bug的優(yōu)先級
5-bug的嚴重程度
6-bug可能屬于的模塊垦沉,如果不能確認煌抒,可以用開發(fā)人員來判斷
7-bug標題,需要清晰的描述現(xiàn)象
8-bug描述厕倍,需要盡量給出重新bug的步驟
9-bug附件中能給出相關(guān)的日志和截圖寡壮。
高質(zhì)量的bug記錄就是指很容易理解的bug記錄,所以讹弯,對于描述的要求高况既,能提供的信息多且準確,很好的幫助開發(fā)人員定位组民。
54棒仍、您在從事性能測試工作時,是否使用過一些測試工具臭胜?如果有莫其,請試述該工具的工作原理,并以一個具體的工作中的例子描述該工具是如何在實際工作中應(yīng)用的庇楞。
測試網(wǎng)管系統(tǒng)中榜配,使用的mimic來模擬終端,能夠大量的節(jié)省成本吕晌。
測試軟交換系統(tǒng)的時候蛋褥,使用的prolab來模擬終端并發(fā)送呼叫軟交換,他完成了同時數(shù)百人才能完成的摘機撥號工作睛驳,主要工作原理是產(chǎn)生一些符合要求的ip包并發(fā)送給軟交換系統(tǒng)烙心,同時對軟交換系統(tǒng)的回應(yīng)進行處理,決定下一步動作乏沸。
55淫茵、您認為性能測試工作的目的是什么?做好性能測試工作的關(guān)鍵是什么蹬跃?
主要是保障在大量用戶的情況下匙瘪,服務(wù)能正常使用。