3、組織技能(Organizational Skills) 每當(dāng)執(zhí)行一個(gè)軟件項(xiàng)目的測(cè) 試計(jì)劃,幾乎不可能不遇到至少會(huì)阻礙一些測(cè)試而必須解決的缺陷。一個(gè)測(cè)試工程師應(yīng)當(dāng)能靈活地停止測(cè)試產(chǎn)品的一部分而開(kāi) 始測(cè)試其他部分。有時(shí)被測(cè)軟件 需要做根本變動(dòng)引起大量的測(cè)試結(jié)果失效,測(cè)試也許得重做不止一次。在問(wèn)題被查找和改變?cè)谶M(jìn)行的過(guò)程中,測(cè)試工程師必須有條理,保持對(duì)執(zhí)行測(cè)試的軟件的前后 關(guān)系的明確感受(例如目前被測(cè)試的程序特定版本的不同部分)。 網(wǎng)絡(luò)時(shí)代要求的動(dòng)態(tài)開(kāi) 發(fā)和測(cè)試模式使組織性的工作方式對(duì)測(cè)試工程師越 來(lái)越重要。在整個(gè)開(kāi)發(fā)過(guò)程中被測(cè)試軟件可能會(huì)不斷地改進(jìn)。測(cè)試工程師在計(jì)劃和實(shí)施測(cè)試的時(shí)候必須考慮這些變化因素,必須控制測(cè)試環(huán)境來(lái)保證測(cè)試結(jié)果的有效 性。 記住計(jì)劃是一個(gè)動(dòng)詞。作為一個(gè)軟件工程師,你永遠(yuǎn)不會(huì)有你想要的所有時(shí)間和資 源。你總是必須通過(guò)理解技術(shù)和產(chǎn)品,開(kāi)發(fā)組織方式,從你和其他人的錯(cuò)誤中學(xué) 習(xí),以及在設(shè)計(jì)必須改變和出問(wèn)題的時(shí)候的迅速調(diào)整,使你的測(cè)試效果和效率最大化。如何能做到這點(diǎn)呢?基本代數(shù):量化任 務(wù)、目標(biāo)和結(jié)果來(lái)減少方程中的變量數(shù)。把產(chǎn)品的功能定義成要求。在測(cè)試計(jì)劃和測(cè)試中量化測(cè)試及其預(yù)期的和實(shí)際的結(jié)果,把信息提供給項(xiàng)目組。你東點(diǎn)一下西點(diǎn) 一下是不能完成整個(gè)測(cè)試的。未來(lái)軟件開(kāi)發(fā)的組織模式要求有靈活的設(shè)計(jì)和不斷進(jìn)化的開(kāi)發(fā)周期。對(duì)產(chǎn)品測(cè)試必須隨著產(chǎn)品的進(jìn)化而進(jìn)化。 4、實(shí)踐經(jīng)驗(yàn)(Hands-On Experience) 這是個(gè)典型的兩難問(wèn)題。你需要軟件測(cè)試經(jīng)驗(yàn)來(lái)找工作,你沒(méi)工作你就沒(méi)經(jīng)驗(yàn)。你該怎么辦? Be careful! 這需要勇氣和你的PC的小心備份。 作為自愿者參與beta測(cè)試。怎樣發(fā)現(xiàn)需要beta測(cè)試員的公司呢?首先,給你在軟件公司工作的親 友打電話。偶爾有人會(huì)需要beta的測(cè)試人員。如果這不行,到你最喜歡的網(wǎng)絡(luò)搜索引擎上去找“beta test”。 你會(huì)發(fā)現(xiàn)很多小(和不那么小的)公司亟需beta測(cè)試員。為什么?這得感謝互聯(lián)網(wǎng),競(jìng)爭(zhēng)的加劇使公司必須做出產(chǎn)品模型貼到他們的網(wǎng)址上作為“beta”版 推出。這些公司希望人們不僅測(cè)試他們的產(chǎn)品,而且對(duì)這些免費(fèi)品感興趣進(jìn)而購(gòu)買(mǎi)他們的產(chǎn)品。 你也能參與開(kāi)放資源的項(xiàng)目,例如Mozilla,開(kāi)放資源的網(wǎng)絡(luò)瀏覽器是網(wǎng)絡(luò)瀏覽器的基礎(chǔ)。Mozilla缺陷跟蹤系統(tǒng) (bugzilla.mozilla.org)允許網(wǎng)上任何感興趣的人直接 在 http://65.54.244.250/cgi-bin/linkrd...2emozilla%2eorg 的開(kāi)放資源項(xiàng)目中直接報(bào)告和跟蹤缺陷 一句忠告:如果你要把很多beta軟件下載到你家里的PC里,投資你的備份設(shè)備和防病毒組件。 5、態(tài)度(Attitude) “我希望你幸福的夢(mèng)想,被你打破了!” 我打賭這句話能勾起一些人童年記 憶的創(chuàng)傷。我不是心理學(xué)家,但我還敢說(shuō)這種說(shuō)法是因?yàn)槲覀兛释吹匠晒?。在軟件測(cè)試中,你不僅要證實(shí)軟件在做它該做的,還要證實(shí)它不會(huì)做它不該做的。為了 做到這一點(diǎn),你得找出軟件的失敗之處。 進(jìn)行軟件測(cè)試需要很多人的眼光要進(jìn)行一百八十 度的轉(zhuǎn)變,因?yàn)闇y(cè)試的目標(biāo)是要讓被測(cè)軟件失敗,由此產(chǎn)生出等同于其他東西工作正確時(shí)的成功。在軟件測(cè)試中,一個(gè)成功的測(cè)試揭示一個(gè)缺陷。進(jìn)行軟件測(cè)試也是 因?yàn)榛ヂ?lián)網(wǎng)的來(lái)臨要求人們用一種大不同以往的眼光來(lái)看待動(dòng)態(tài)的開(kāi)發(fā)和測(cè)試模型。 6、 必備特性(Necessary Traits) 軟件測(cè)試工程師除了技術(shù),還要求具有 否定性的創(chuàng)造力;探測(cè)技巧;總體理解產(chǎn)品的能力;用客戶的眼光進(jìn)行評(píng)估;懷疑的而不是敵意的態(tài)度;能經(jīng)受得住壞消息而保持目標(biāo);擁抱新技術(shù)的熱望等特征。 否定性的創(chuàng)造力。一個(gè)軟件工程師不能怕引起一個(gè)產(chǎn)品的癱瘓或燒毀。在軟件測(cè)試中,邊界意味著被超 越而不是被遵從。如果一個(gè)程序?qū)δ硞€(gè)值的極限為10(例如,可以在一時(shí)間被打開(kāi)的最大文件數(shù)),測(cè)試工程師的第一想法應(yīng)當(dāng)是“如果我把那個(gè)值取11,或 0,或10.1,甚至不設(shè)這個(gè)值會(huì)如何?” 在我的早期的工作生涯中,有一次我測(cè)試一 個(gè)開(kāi)發(fā)和QA工程師遺漏下來(lái)的PC數(shù)據(jù)庫(kù)。有問(wèn)題的數(shù)據(jù)庫(kù)是2.01版。這本身就說(shuō)明產(chǎn)品有問(wèn)題。2.0版沒(méi)解決 1.0版的所有缺陷嗎?或者2.0版又加入了新的缺陷?很遺憾因?yàn)闀r(shí)間緊我沒(méi)有調(diào)查這些,只是證實(shí)了最后的缺陷修復(fù)后就告捷了。 這是很大的錯(cuò)誤。我應(yīng)當(dāng)重測(cè)開(kāi)發(fā)人員所謂“沒(méi)有變化”的所有產(chǎn)品功能。2.0版本中的缺陷確實(shí)復(fù)修 了,但在修復(fù)的過(guò)程中,有人破壞了請(qǐng)求。事實(shí)就是如此,在數(shù)據(jù)庫(kù)里不能搜索數(shù)據(jù)了,第一個(gè)收到這項(xiàng)產(chǎn)品的beta客戶發(fā)現(xiàn)了這個(gè)缺陷。 我宣布以前的測(cè)試無(wú)效,要求對(duì)產(chǎn)品進(jìn)行全面測(cè)試。找到幾個(gè)缺陷之后,我發(fā)現(xiàn)這個(gè)數(shù)據(jù)庫(kù)讀取寫(xiě)保護(hù)文 件或?qū)懕Wo(hù)了的磁盤(pán)的時(shí)候就會(huì)引起癱瘓。開(kāi)發(fā)人員很吃驚我會(huì)試著寫(xiě)保護(hù)一個(gè)數(shù)據(jù)庫(kù)。他們的反應(yīng)就是:“沒(méi)人會(huì)這么干的!”產(chǎn)品的市場(chǎng)經(jīng)理很快用他們的方式 承認(rèn)了錯(cuò)誤。 探測(cè)技巧。在一個(gè)理想的世界中,軟件測(cè)試應(yīng)當(dāng)在一個(gè)經(jīng)常更新的寫(xiě)得很清 楚的功能與設(shè)計(jì)說(shuō)明文件(一般被稱(chēng)為“specifications”)中被完整而精確地描述。不幸的是,這一完善被開(kāi)發(fā)程序每一方面文件的任務(wù),包括記 錄在開(kāi)發(fā)中對(duì)程序不可避免的改變,要花很多的時(shí)間和精力以至于人們無(wú)法完成編程。而且花費(fèi)也太大。 |
|