測(cè)試三問(wèn)——新手必看
在進(jìn)入軟件測(cè)試行業(yè)之初,很多人都會(huì)存在下面最原始的問(wèn)題,我稱(chēng)之為“測(cè)試三問(wèn)”:
1、什么是軟件測(cè)試?
2、為什么會(huì)有或會(huì)需要做軟件測(cè)試?
3、軟件測(cè)試的目的是什么?
答:
一、什么是軟件測(cè)試?
軟件測(cè)試是一個(gè)過(guò)程。是一個(gè)質(zhì)量保證中的一個(gè)環(huán)節(jié),是一個(gè)驗(yàn)證被測(cè)產(chǎn)品是否符合客戶(hù)需求的過(guò)程。而且是一個(gè)有計(jì)劃、有規(guī)律、有組織的活動(dòng)。
二、為什么會(huì)有或需要進(jìn)行軟件測(cè)試?
先簡(jiǎn)單來(lái)描述一個(gè)邏輯:
第一、隨著信息化的發(fā)展,我們?cè)诟餍懈鳂I(yè)使用了越來(lái)越多的軟件。一方面為我們提高工作效率,一方法豐富了我們的生活,甚至在有些行業(yè)已經(jīng)離不開(kāi)相關(guān)的專(zhuān)業(yè)軟件;
第二、既然這些軟件為我們工作,我們就需要它正確的為我們工作,否則會(huì)給我們帶來(lái)不必要的麻煩甚至是危害;
第三、既然如此,我們?cè)谑褂密浖埃托枰浪懿荒苋缥覀兯枰哪菢庸ぷ鳌?/p>
這樣,就產(chǎn)生一個(gè)需求:對(duì)軟件進(jìn)行測(cè)試。
有需要就會(huì)產(chǎn)生使其存在,以上簡(jiǎn)單的回答了上面第二個(gè)的問(wèn)題。
不僅如此,在很多軟件在從程序員手中開(kāi)發(fā)完之初,都會(huì)有或多或少的問(wèn)題,更是提出了軟件測(cè)試的必要性,隨著時(shí)間推移,逐漸催生了軟件測(cè)試行業(yè)。
軟件測(cè)試是為了保證我們的軟件產(chǎn)品的質(zhì)量。那么什么是我們軟件產(chǎn)品的質(zhì)量?如何才能說(shuō)我們保證了我們軟件產(chǎn)品的質(zhì)量呢?
我們說(shuō)如果我們實(shí)現(xiàn)了客戶(hù)的所有要求,同時(shí)保證了程序運(yùn)行的效率,保證了程序的可讀性,可維護(hù)性,那么我們就保證了我們軟件產(chǎn)品的質(zhì)量。
前面這些點(diǎn)是我們軟件測(cè)試的最最核心的思想。我們的一切軟件測(cè)試活動(dòng)都是為了保證這個(gè)核心思想而存在的,為了保證這個(gè)核心思想,出現(xiàn)了軟件測(cè)試工程,出現(xiàn)了軟件測(cè)試這個(gè)專(zhuān)門(mén)的學(xué)科。
三、軟件測(cè)試的目的是什么?
在談到軟件測(cè)試目的時(shí),許多人都引用grenford j. myers在《the art of software testing》一書(shū)中的觀點(diǎn):
1、軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程;
2、測(cè)試是為了證明程序有錯(cuò),而不是證明程序無(wú)錯(cuò)誤;
3、一個(gè)好的測(cè)試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤;
4、一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。
這種觀點(diǎn)可以提醒人們測(cè)試要以查找錯(cuò)誤為中心,而不是為了說(shuō)明軟件的正確性,實(shí)際上大部分未經(jīng)過(guò)測(cè)試軟件產(chǎn)品都或多或少的存在著錯(cuò)誤。
但是僅憑字面意思理解這一觀點(diǎn)可能會(huì)產(chǎn)生誤導(dǎo),認(rèn)為發(fā)現(xiàn)錯(cuò)誤是軟件測(cè)試的唯一目,查找不出錯(cuò)誤的測(cè)試就是沒(méi)有價(jià)值的,事實(shí)并非如此。
首先,測(cè)試并不僅僅是為了要找出錯(cuò)誤。通過(guò)分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的分布特征,可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過(guò)程的缺陷,以便改進(jìn)。同時(shí),這種分析也能幫助我們?cè)O(shè)計(jì)出有針對(duì)性地檢測(cè)方法,改善測(cè)試的有效性。
其次,沒(méi)有發(fā)現(xiàn)錯(cuò)誤的測(cè)試也是有價(jià)值的,完整的測(cè)試是評(píng)定測(cè)試質(zhì)量的一種方法。