[發明專利]Web應用程序的回歸測試方法和裝置有效
| 申請號: | 201110217258.3 | 申請日: | 2011-07-29 |
| 公開(公告)號: | CN102902619A | 公開(公告)日: | 2013-01-30 |
| 發明(設計)人: | 白爽 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京康信知識產權代理有限責任公司 11240 | 代理人: | 吳貴明;江舟 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 開曼群島;KY |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | web 應用程序 回歸 測試 方法 裝置 | ||
技術領域
本申請涉及互聯網領域,具體而言,涉及一種Web應用程序的回歸測試方法和裝置。
背景技術
敏捷開發是當今全球的軟件行業最為流行的開發方式之一,越來越多的在各國軟件企業中推行。敏捷開發的一個重要的特征為:頻繁交付新的軟件版本。然而,這個特征帶來了頻繁的測試,而且,不能保證新增加的功能不會影響到以前的功能,所以敏捷開發模式下會頻繁地進行回歸測試,也就是,把以前的功能重新測試一遍。這樣,導致了大量重復的測試工作,也成為了敏捷開發在實踐中遇到的最大的問題。
上述回歸測試是指修改了舊代碼后,重新進行測試以確認修改沒有引入新的錯誤或導致其他代碼產生錯誤。自動回歸測試將大幅降低系統測試、維護升級等階段的成本。回歸測試作為軟件生命周期的一個組成部分,在整個軟件測試過程中占有很大的工作量比重,軟件開發的各個階段都會進行多次回歸測試。在漸進和快速迭代開發中,新版本的連續發布使回歸測試進行的更加頻繁,而在極限編程方法中,更是要求每天都進行若干次回歸測試。
敏捷開發理念對測試工作的壓力在于產生頻繁的、高重復性的測試工作。目前,國際上還沒有很好的解決方案,通常的回歸測試的方法為單元測試+自動化測試+人工測試+其它輔助工具(如圖片比對測試),上述自動化測試包括:使用商業軟件(例如,QuickTestProfessional(快速測試專業QTP)等))進行測試。
上述單元測試的機制是:為軟件(每個)“最基本單元”編寫一段測試代碼。然后運行這些測試代碼,檢查“檢測點”的實際值與期望值是否一致。單元測試理念認為:每個“單元”是正確的,整體就是正確的。單元測試是在軟件開發過程中要進行的最低級別的測試活動,在單元測試活動中,軟件的獨立單元將在與程序的其他部分相隔離的情況下進行測試。
上述QTP等商業軟件的機制是:通過鼠標移動、鍵盤點擊操作被測應用,即而得到相應的測試腳本,對該腳本可以進行編輯和調試。在記錄腳本的過程中可在插入“檢測點”的同時建立期望值。在執行的時候回放該測試腳本,然后檢查“檢測點”實際結果與期望結果是否相同。
然而,即使使用上述的解決方案,仍然需要測試人員進行大量工作,效果還是不盡如人意,特別是像互聯網產品這種在線應用上,測試人員必須要再測,這是因為:
1)對于單元測試而言:需要編寫測試代碼,測試代碼的覆蓋率不會達到100%。通常覆蓋率越高,寫的越深入,重構時面臨修改的可能性也越大,這里,重構指的是在不改變軟件現有功能的基礎上,通過調整程序代碼改善軟件的質量、性能,使其程序的設計模式和架構更趨合理,提高軟件的擴展性和維護性。因為重構后的單元不一定是重構前的單元。單元測試也需要跟著“被重構”。另外,單元測試受制于外部數據源和開發人員的能力,因此單元測試對重構后代碼是否存在錯誤的檢查能力是很有限的。
2)對于QTP等商業自動化測試軟件而言:QTP等商業自動化測試軟件特點在于可以檢查頁面功能。但是就是這種特征,使得當頁面功能有些改動,就需要重新錄制腳本。功能變了也要重新錄制腳本。而且對于外部數據源的依賴更強,因為它不像單元測試可以Mock(制造假的)數據,舉個簡單例子:當回放測試腳本時,數據庫中的數據的測試數據和當初已經完全不同了,甚至字段都不同了。實際使用時很有可能就放棄了對一些結果進行檢測。第二個問題,現在頁面效果,越來越絢。商業軟件很多時候并不能正確捕捉并回放頁面事件。導致整個測試都不能運行完。
所以針對于回歸測試這種場景,商業軟件的作用還趕不上單元測試。這些產品的優點在于使用面比較寬,比較通用,但效果比較差。
3)對于圖片比對測試而言:圖片比對測試與本申請原理有許多相似之處,但作法卻完全不同,簡單的說:用相同的輸入請求兩個版本的程序,讓計算機自動比較兩個程序返回的結果頁面是否相同,基本的方法是通過將結果頁面直接變成圖片然后用算法比對這兩個圖片是否相同。
圖片比對測試通常效果不好,原因是:很多功能不可能從外觀上體現出來,比如頁面上一個超鏈接是有問題的,不是從外觀上能發現的,只有點進去才知道,所以這種問題就測試不出來。另一個問題,即便是頁面外觀是不同的,也不能認為是錯誤的。比如:一些網站上有很多廣告都是隨機出現的。這樣都會被當成“錯誤”測出來,這一定是不對的。
由上可知,現有的回歸測試方法仍然需要大量的人工測試,從而增加了測試負擔,降低了測試速度。
發明內容
本申請的主要目的在于提供一種Web應用程序的回歸測試方法和裝置,以至少解決現有技術中測試負擔較大的問題。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110217258.3/2.html,轉載請聲明來源鉆瓜專利網。





