關於測試
在qcon北京2011的第二天,有乙個主題叫做「更有效地測試」,主持人是曾經在google中國擔任測試經理的段念,他作為這個主題的主持人非常合格,可惜的是這次沒有聽到他自己關於測試的一些經驗和觀點。
測試的重要性,想必大家都已經非常清楚,編寫好的程式想要真正能夠應用,測試過程是必不可少的,而且,想要更好地應用敏捷的一些方法和觀點,首先就要讓我們編寫的程式是可以測試的,那樣才能夠保證我們的重構過程不會破壞原有的功能;另外,測試驅動開發的方法已經被很多人的實踐證明,是一種很不錯的保證開發程式質量和效率的方式;另外,專案中的測試也分為了很多種型別:單元測試,整合測試,使用者介面測試,效能測試,使用者接受測試等等,所有這些測試都是為了保證程式的質量。
而在這次大會上,我聽到的兩個主題側重的是另外兩個方面。
吳凱華認為,測試平台是對各種測試工具的整合,一方面要有乙個前台的管理介面,對執行的各種測試要記錄,對各種指令碼要儲存,從而更有效地自動化地執行各種測試,並能夠對各種測試的結果進行管理和分析;另一方面,也是測試平台的核心所在,就是後台對於各種測試工具的整合,這部分也是最難於構建的部分。
緊接著這個session,是ivar jacobson公司的吳穹帶來的關於分層測試的演講。
儘管講的都是測試,但是吳穹對於吳凱華的某些觀點不是非常同意,對於測試平台,他的觀點是,先盡量使用開源的測試工具,如果不滿足需要的話,就修改開源的測試工具,實在逼不得已,才要構建自己的測試平台或者測試框架,這應該也和敏捷觀點是緊密相關的,敏捷提倡的就是要避免浪費,而想要構建自己的測試平台,肯定要消耗大量的人力和財力,那也不是一般的中小型公司所能夠承受的,所以他才會提出那樣的觀點吧。
吳穹博士所講述的分層測試很有意思,他把測試分成了四種:
開發者測試
控制驅動整合測試
介面驅動整合測試
驗收測試、效能測試
對於乙個系統或者程式,要執行這四種測試,而每種測試所針對的目的也都不盡相同。也正因為需要執行四種不同的測試,而各種測試的用例之間必定會存在一定的交集,所以他認為,我們不需要在每種測試的時候都保證100%的測試覆蓋率,足夠好的測試覆蓋率就好,比方說,每種測試的覆蓋率都達到40%左右,而最終整體的測試覆蓋率達到70-80%,就足夠好了。
這四種測試側重點都有所不同,就像淨化水的過程一樣,每一層過濾裝置所要過濾掉的雜質都不一樣,在各種測試中所要找到的缺陷也不一樣,因此,我們不需要在開發者測試的時候找到介面上的bug,每種測試都只需要負責找到應該找到的bug就好。
吳穹博士的演講中也體現了80-20的觀點,他認為足夠好的測試就足夠了,即便是總體上的綜合測試覆蓋率,也只需要達到70-80就好了,而且應該是針對核心功能要著重測試,而對於某些**,像set和get方法,本身就是很簡單的方法,即便測試沒有覆蓋,也無傷大雅。這樣的觀點也和精益的思想有很好的契合。
QCon 2011參會收穫 關於測試
關於測試 在qcon北京2011的第二天,有乙個主題叫做 更有效地測試 主持人是曾經在google中國擔任測試經理的段念,他作為這個主題的主持人非常合格,可惜的是這次沒有聽到他自己關於測試的一些經驗和觀點。測試的重要性,想必大家都已經非常清楚,編寫好的程式想要真正能夠應用,測試過程是必不可少的,而且...
QCon 2011參會收穫 關於測試
關於測試 在qcon北京2011的第二天,有乙個主題叫做 更有效地測試 主持人是曾經在google中國擔任測試經理的段念,他作為這個主題的主持人非常合格,可惜的是這次沒有聽到他自己關於測試的一些經驗和觀點。測試的重要性,想必大家都已經非常清楚,編寫好的程式想要真正能夠應用,測試過程是必不可少的,而且...
QCon 2011參會收穫 關於敏捷
2011年4月8 9 10三天,是qcon北京大會召開的日子,和去年一樣,我又和公司請了年假,然後跑到北京去參加,收穫真的是很大,在這裡簡單總結一下。因為涉及到的內容比較多,所以我會根據內容的不同分成幾篇blog來和大家分享和討論,關於敏捷 參會期間,與ivar jacobson公司的黃邦偉 方俊賢...