如何從用戶(hù)的角度來(lái)測試Web應用軟件 軟件測試
我并不是一個(gè)Web開(kāi)發(fā)方面的大師。雖然我從事開(kāi)發(fā)管理工作已經(jīng)很長(cháng)時(shí)間了,但我的職業(yè)生涯是從一個(gè)開(kāi)發(fā)人員開(kāi)始的。當條件允許的時(shí)候,我也試著(zhù)在開(kāi)發(fā)過(guò)程之中提供一些幫助,特別是當我認為可以通過(guò)我在測試在線(xiàn)客戶(hù)機—服務(wù)器和Web應用軟件方面的知識提供一些有用的價(jià)值的時(shí)候。
在開(kāi)發(fā)人員完成他們的測試之后,我將會(huì )出于兩個(gè)具有代表性的原因來(lái)審查他們的工作。第一,我想要在和客戶(hù)交流時(shí)能夠說(shuō)出應用軟件是什么樣子和它如何工作。第二,我想要看一看有沒(méi)有什么顯而易見(jiàn)的錯誤可以在客戶(hù)看到結果之前得到更正。
我知道有我在中間會(huì )讓我的開(kāi)發(fā)人員感覺(jué)受到挫折。這種挫折并不是因為我是一個(gè)瓶頸,而我通常試圖在開(kāi)發(fā)人員告訴我應用軟件已經(jīng)完成的當天之內就開(kāi)始我的測試工作。真正使他們感到受挫的是他們可以對應用軟件進(jìn)行測試并認為他們已經(jīng)找到了所有的東西。然而,通常在我開(kāi)始測試之后的30分鐘之內,我就會(huì )在一張紙上記錄下來(lái)我有疑問(wèn)或是看起來(lái)不正常的事情。
通常這種測試方式也會(huì )使我感到受挫。有時(shí),我奇怪開(kāi)發(fā)人員如何能夠說(shuō)應用軟件已經(jīng)完成,而他們所忽視的內容我在幾分鐘之內就能夠找到。然而,一般來(lái)說(shuō),出現的錯誤通常是由對測試理念的缺乏所導致。開(kāi)發(fā)人員關(guān)注于提供正常工作的應用軟件,而我傾向于從一個(gè)用戶(hù)的角度看一看是否能打破它。我還會(huì )尋找其中的一些矛盾和直覺(jué)性的缺乏,這些反映出了使用者的經(jīng)驗。
提供正確的應用軟件
測試工作具有一些不同的方面。一方面就是去驗證最終的產(chǎn)品達到所認可的要求。測試工作要求測試人員確保所有所要求的功能和特性都已經(jīng)給出并可用。然后,確保這些功能和特性以所期望的方式工作。這種測試方式并沒(méi)有錯,但是你還需要更進(jìn)一步。
試著(zhù)作為一個(gè)用戶(hù)去打破應用軟件
很多開(kāi)發(fā)人員所欠缺的地方是,他們以他們所期望的用戶(hù)的反應方式為基礎進(jìn)行測試工作。他們沒(méi)有進(jìn)行足夠的思考,離開(kāi)慣常的途徑進(jìn)行測試。例如,比方說(shuō)你有一個(gè)Web應用軟件,其中有大量的在線(xiàn)處理過(guò)程,如果第一個(gè)頁(yè)面要求輸入用戶(hù)名和密碼,那么我一開(kāi)始就什么值都不輸入,然后看一看會(huì )發(fā)生什么。我能不能進(jìn)入?有沒(méi)有錯誤出現?有些時(shí)候是不是屏幕會(huì )靜止不動(dòng)?這時(shí),應用軟件就應該將其視為一個(gè)非法的響應并返回恰當的錯誤信息。
用戶(hù)會(huì )向所有可能位置輸入任何值
當我進(jìn)入應用軟件界面時(shí),我會(huì )輸入各種各樣奇怪的值。如果這里需要輸入的是字母,那么我就輸入一個(gè)數字,然后我會(huì )輸入類(lèi)似于“(*&%$’的特殊字符。很多次,應用軟件都會(huì )發(fā)生問(wèn)題,真是讓我感到驚異。我對所有的區域都做了相同的測試,如果一個(gè)區域包含一個(gè)drop-down列表,我就會(huì )試著(zhù)鍵入一個(gè)值。如果某些區域是事先制定的,我就會(huì )改變他們。如果一些值是數據庫的關(guān)鍵字而不能動(dòng),我就會(huì )改變他們。我還試著(zhù)通過(guò)在區域中加入頁(yè)面所允許的足夠多的數字或字符,讓他們溢出。然后我就會(huì )點(diǎn)擊可選的按鈕和鏈接看一看會(huì )發(fā)生什么。
同樣的,我還試著(zhù)搞亂所有的預制定區域。我總是告訴我的開(kāi)發(fā)人員說(shuō),如果你不希望一個(gè)區域被改變,那么你就不要允許用戶(hù)將指針?lè )旁谏厦婧玩I入。我向你保證,如果你將一個(gè)區域設置為開(kāi)放的可以輸入,那么就一定會(huì )有某些人在某些時(shí)候,出于某種原因試圖向其中鍵入數值。
用戶(hù)為什么會(huì )向一個(gè)需要輸入數字的區域鍵入特殊字符呢?問(wèn)題在于他們或許不會(huì )有意去這樣做,然而,鍵入錯誤去卻隨時(shí)都會(huì )發(fā)生。如果你向用戶(hù)給出一個(gè)數字區域,那么隨著(zhù)時(shí)間的過(guò)去,錯誤的鍵入就會(huì )導致在任何的區域之中輸入任何的字符。我認為這樣的問(wèn)題應該現在就找出來(lái),而不是讓一個(gè)Web應用軟件在用戶(hù)手中出問(wèn)題。
用戶(hù)會(huì )嘗試邏輯流的所有組合
除了一些簡(jiǎn)單的編輯性錯誤之外,我還會(huì )嘗試每一個(gè)邏輯流的組合。當我看到一個(gè)Web頁(yè)面時(shí),我會(huì )嘗試每一個(gè)超鏈接看一看結果是什么。開(kāi)發(fā)人員會(huì )看著(zhù)我納悶為什么用戶(hù)會(huì )這樣做。再說(shuō)一次,問(wèn)題是他們可能不是有意去這么做,然而,你應該設想每一個(gè)邏輯組合都可能會(huì )在某個(gè)時(shí)間被嘗試。
看一看外觀(guān)
我著(zhù)眼的最后一件事就是整體的視覺(jué)和感覺(jué)。我試圖確保屏幕有一個(gè)漂亮的外觀(guān),漂亮的字體,而且他們是協(xié)調一致的。例如,如果你在列表中一些項目的最后放置一個(gè)句號,那么他們都應該帶有句號,否則就都沒(méi)有,這取決于你的編輯上的習慣。同樣,字體也應該保持一致,如果在一個(gè)區域的標題的字體是14,那么他們都應該是這個(gè)大小。這樣做都是為了使應用軟件看起來(lái)具有專(zhuān)業(yè)性。
做最壞的準備
在我所管理的團體之中,開(kāi)發(fā)人員做出了很好的工作,確保他們的應用軟件以所指定的方式工作。但在很多情況下,他們沒(méi)有從一個(gè)用戶(hù)的角度做出足夠的測試工作。他們應該關(guān)注于確保應用軟件的堅固可靠。用戶(hù)在百分之九十的時(shí)間之內,會(huì )像你所期望的那樣對應用軟件進(jìn)行操作,然而,剩下的百分之十的時(shí)間里,他們就會(huì )做一些奇怪的事情。當發(fā)生這樣的事情時(shí),你的應用軟件就需要對其妥當并成功地進(jìn)行處理。你不希望一個(gè)很棒的應用軟件在用戶(hù)第一次輸入12位數字的社會(huì )保障號碼而不是9位數字時(shí)就垮掉。你要確保進(jìn)行了測試工作保證你的應用軟件如宣傳的那樣進(jìn)行工作。還有,盡可能地對意外因素的組合進(jìn)行多種測試。你需要確保沒(méi)有任何的錯誤數據或處理流程致使用戶(hù)得到任何意料之外的系統信息。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/