Windows 应用程序测试
  虽然Web从上个世纪90年代开始崛起,到现在的空前盛世,但是任然有很多公司仍在开发和维护Windows应用程序。并且Windows应用程序的开发也从C++和MFC时代进入了.Net 和Silverlight时代。但是Windows应用程序的测试一直都是一个不大不小的问题,虽然有很多商用且成熟的自动测试系统,比如Test Complete和QTP等,不过大部分是基于录制或者Action模型来创建测试,更没有提供现代流行的脚本支持,比如QTP使用的是VBScript,更不用说BDD的支持。在Agile的时代,测试工具API化才是一个正确的选择,如果能支持DSL那更好了。使用API后,可以获得良好的可维护性,并且可以更为容易实现CI和CD。幸好有一帮志士开发了一套针对Windows应用程序的免费自动化测试框架White,以及.Net的BDD框架SpecFlow。White封装了Microsoft's UIAutomation Library,并提供了一套简单易用的API。它支持Win32, WinForms, WPF, Silverlight and SWT (Java) platforms的应用程序,并且通过MicroSoft Windows SDK里面的Inspect工具可以非常容易的找到应用程序中UI控件的ID来进行自动化测试。
  Web安全
  安全,一个即神秘又兴奋还忧心的话题。其中安全世界里面的东西太多太多了,比如服务器安全,移动安全,网络安全,杀毒软件,入侵检测等等,不过我只想说说Web的安全。Web,在前面我已经用了各种的词汇来描述它的现状。正是由于它当前这种现状,我们不得不特别关注它。所以有一批黑客发起了一个关注Web安全的公益性项目OWASP(Open Web Application Security Project)。在这个项目里面,有各种关于Web安全的资料,比如文档有《OWASP安全编码规范快速参考指南》,《OWASP测试指南》 和 《OWASP安全风险Top 10 》2013年版等, 以及各种安全测试和培训工具,比如ZAP和WebGoat等。其中ZAP是一款简单易用并且免费的Web安全扫描工具,使用在针对网站渗透测试过程中的检测网站步骤中,并且很容易的和maven以及CI进行集成。由于它是由java开发的,所以也支持多种操作系统,比如Windows和MacOS等。而WebGoat是一个漏洞百出的J2EE Web应用程序,这些漏洞是故意设计用来演示Web应用程序安全课程的。这个应用程序提供了一个让用户可以真实去实践和学习的平台,让用户可以真实看到漏洞以及尝试去修复这个漏洞。
  除了上面介绍的免费工具和练习平台以外其实还有很多其他的免费和商业版本的工具和平台,比如w3af,Burp,metasploit,Google’s Gruyere等。我暂时还没有用过这些,有兴趣的同学可以自己去学习研究。后如果大家想学习和使用这些工具,并练习Web的安全问题,比如OWASP Top 10,可以使用Maven公司的Web Security Dojo可以非常方便的进行。
  总结
  对于测试人员,需要了解各种测试方法,测试策略和测试工具,随着软件行业的迅速发展也需要更新它们,比如视觉感知测试, 移动测试,性能测试等等。但是随着Agile越来越普及,持续集成和持续部署的广泛使用,以及BDD的兴起,学习脚本将会成为测试人员的一门必修课。不要再犹豫了,更新自己吧,要知道不进则退哦。