在软件开发的过程中,测试的重要性逐渐被重视,unit testing/ regression testing/ui testing etc.
因为,软件从requirement analysis到release,主要工作虽然是development,但是,测试却是保证软件系统能够正常工作的关键步骤。
随着软件系统越来越大,系统的功能测试、UI测试如果只是依赖人工手动测试,也就需要话费越来越多的时间和人力资源。
自动化测试也有非常多的种类:
对Web UI 的自动化测试程序
对Windows 窗体UI的自动化测试程序
API测试, 比如(测试WCF service, Web API 等)
数据库测试, 比如测试存储过程
接口测试 (这种只能用自动化测)
单元测试
性能测试, 性能测试都需要用到自动化
自动化测试工具
测试套件工具:JUnit, Nunit, MSTest, 这几个工具功能都一样学起来比较简单。
性能测试工具:JMeter, VSTS 负载测试, LoadRunner(收费), QTP(收费)
Web UI 测试框架:WebDriver/Selenium, VSTS Coded UI, Watri
Windows UI 测试框架:VSTS Coded UI, UFT, Test Complete
其他工具: firebug, Fiddler
如今,开发和测试其实是需要紧密结合的,有的开发团队甚至包括测试开发人员。在软件系统的设计阶段,就需要考虑测试工作的内容。
比如,在开发一个web应用程序的过程中,不仅要考虑系统架构,还需考虑测试工作的可行性。设计一整套开发流程和测试规范,能够极大的提升软件系统的可维护性和测试工作的高效性。