安全性测试是有关验证应用程序的安全服务和识别潜在安全性缺陷的过程。此节包括一些重要的测试建议,用来验证已创建安全的应用程序。
由于攻击者没有闯入的标准方法,因而也没有实施安全性测试的标准方法。另外,目前几乎没有可用的工具来彻底测试各个安全方面。由于应用程序中的功能错误也可代表潜在的安全性缺陷,因此在实施安全性测试以前需要实施功能测试。
有一点很重要,应注意安全性测试并不最终证明应用程序是安全的。而是只用于验证所设立对策的有效性,这些对策是基于威胁分析阶段所做的假设而选择的。
“Web测试”也称为声明性Web测试,它由一系列HTTP请求组成。Web测试通过发出HTTP请求在协议层工作。Web测试不运行JavaScript。但是,可以在运行时通过使用Web测试插件、Web测试请求插件、提取规则或编码Web测试来模拟JavaScript操作。
Web测试用于测试Web应用程序的功能以及在负载下测试Web应用程序。Web测试可用于性能测试和压力测试。
通过在浏览器会话中记录活动,可以创建Web测试。还可以使用Web测试编辑器手动生成Web测试。此外,TeamEditionforTesters还提供了用于记录和运行Web测试的工具。
若要测试Web应用程序,请通过记录遍历Web应用程序的测试来创建Web测试。
然后,可以在负载测试中综合Web测试。可以对广泛应用于各个Web测试的负载测试进行属性设置。如果测试计划允许,还可以在负载测试中将Web测试与单元测试进行组合。
测试web应用程序和测试桌面系统用很多共同点:例如你需要和执行所有标准测试类型一样测试常见的功能点,配置及兼容性。但是由于与应用程序交互的所有分布式系统组件的复杂性成倍的增加的原因,导致web应用程序测试更加的困难。当我们在web环境中看到一个错误时,通常很难指出错误发生的地方,并且由于我们看到的行为或我们接受到的错误信息可能是发生在Web系统中不同部分的错误的结果。错误可能是很难重现的。那么我们如何在web系统中分析错误呢,并且为了重现那些错误又应该做哪些考虑呢?
当我们对潜在的技术有一个了解时,我们可以更好的最大化测试效率-编写更多可重现的bug报告并且在较少的时间里发现更多的错误。说比做更加容易-特别是在web环境里。Web环境在错误倾向技术变量是密度高的。以下是测试Web应用程序的需要考虑的5个基本事项:
1.当我们在客户端看到一个错误时,我们所看到的是错误的症状,而不是错误本身。
2.错误可能是与环境相关的,并且可能不出现在不同的环境里
3.错误可能是存在代码或是配置中的
4.错误可能驻留在几个层中的任一个层中
5.检查操作系统中的两个类别-静态vs动态-需要不同的方法。
Web测试的优点
l创建的Web测试可用于广泛的测试目的,包括:
l创建执行Web应用程序的功能测试。
l创建数据驱动的测试。
l创建并运行可以测试应用程序性能的测试。
使用.NET语言进行测试创作、调试和测试扩展。
Web测试可自动处理这些HTTP操作:
l包括VIEWSTATE的隐藏字段相关性
l重定向
l从属请求
l身份验证
l通过HTTPS/SSL确保安全
TeamEditionforTesters提供了创建和运行负载测试的工具。负载测试的主要目标是要模拟许多用户同时访问一台服务器的情况。
向负载测试添加Web测试时,您会模拟多个用户同时连接到一台服务器并发出多个HTTP请求的过程。可以在负载测试上设置广泛应用于各个Web测试的属性。
向负载测试添加单元测试时,您会测试非基于Web的服务器组件的性能。负载下单元测试的一个示例应用程序用于测试数据访问模型组件。
负载测试可用于一组称为rig的计算机,rig由多个代理和一个控制器组成。有关更多信息,请参见使用代理。
负载测试可用于几种不同的测试类型:
l冒烟测试:确定在短时间内负载较小时应用程序如何执行。
l压力测试:确定在较长时间内负载较大时应用程序是否能成功运行。
l性能测试:确定应用程序的响应能力。
容量计划测试:确定在各种容量下应用程序如何执行。