企业Web应用中的敏捷测试和瀑布测试

发表于:2012-8-20 10:01

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

分享:

  性能测试

  性能测试涵盖的范围比较大,不过一般可以分成以下三类。

  1、容量测试:独立测试核心功能组件的容量。例如, 可以支持多个用户并发检索?一秒种能做多少次?等等。容量测试被用来精确度量系统的极限,还可以对容量规划和系统的扩展性起辅助作用。

  2、负载测试:侧重于系统在负载下的表现。负载应该要体现出用户所期望系统可以经受得住的流量。

  3、压力测试:关注系统在压力下的表现。比较常用的技术是浸泡测试(soak test);在浸泡测试中,系统会在一定的负载下持续运行一段时间,用来找出长期问题,如内存泄漏、资源泄漏等。压力测试还会覆盖故障转移和恢复,例如正在工作的集群中的一台服务器出现问题,检查是否可以做到故障转移和恢复。

  瀑布项目直到项目接近尾声的时候才做性能测试,这个时候应用程序已经“完成了”开发,通过单元测试和功能测试。而敏捷项目则会尽快启动性能测试。

  性能测试应该考虑以下几点:

  1、在功能测试中设置一些性能度量,例如一个测试第一次运行要花多长时间,接下来每次又要花多久,把这些时间所占的百分比做一下比较(上升表示有问题,下降表示良好)

  2、把一些性能测试放到系统集成持续构建中去做。

  3、一旦一个业务过程,或是某个规模比较大的功能或接口完工,就要做性能测试。

  4、只有在试机环境中运行的时候才签收性能测试。

  任何测试失败都表示构建失败。

  非功能性测试

  非功能性测试所涵盖的范围很广,性能测试通常也属于这个话题。但是因为性能测试是企业解决方案中很重要的一部分,而且需要不同的资源和技能集,所以就被划出来单独成为一个测试阶段。非功能性测试一般都包含有这些内容:可操作性(包括监控、日志、审计/历史记录)、可靠性(包括故障转移,单个组件故障,完整故障,接口故障)以及安全性。无论瀑布项目还是敏捷项目,在这个测试阶段都会遇到重重阻碍,二者的差异不太突出。

  非功能性测试应该考虑以下几点:

  1、非功能性需求一般都是很难捕获的,而且即便被捕获,也很难进行度量。(例如:99.9%的无故障时间)

  2、尽可能让所有的非功能测试都自动化执行,把它们也都放到系统集成测试环境中。

  3、在定义测试用例的时候,让真正要监控产品环境并对其提供支持的人也参与进来。

  4、在应用程序成为产品以后,非功能测试或监控还要继续。

  回归测试

  在瀑布项目中,回归测试无论从时间上还是费用上来看,都算得上是成本最高的测试阶段了。如果在项目晚期(如UAT阶段)发现了缺陷,再构建应用程序的时候,就得把所有单元测试、功能测试和用户验收测试重新运行一遍。因为大多数瀑布项目都没有自动化测试,所以回归测试的开销就很大。敏捷项目以持续构建和自动化测试来应对回归测试,使每次构建都可以进行回归测试。

  回归测试应该考虑这一点:

  每次迭代结束时都做一下手工测试,收集早期反馈。

  产品校验

  产品校验会在把产品交付给用户使用之前,审查产品环境中的应用程序,看看所有内容是否否都已经正确安装,系统的操作性如何。而有些测试还是只能到了产品环境中才能完整运行的,最好尽快将其完成。无论是瀑布项目还是敏捷项目,产品校验的方式并无二致。

  产品校验应该考虑以下几点:

  1、让最终用户来做产品校验测试。

  2、趁着产品系统还没有正式上线,从这个测试阶段的早期就要尽可能多地执行自动化回归测试。

  瀑布项目和敏捷项目的测试阶段还是很相似的,主要差异就是每个测试阶段关注的重点和执行时机。敏捷项目中有大量的自动化测试,用持续集成来减少回归测试对项目带来的影响。在瀑布项目中,如果发现应用程序的质量低下,那么在晚期再去执行前期的测试就是很常见的事情(如在UAT的时候做功能测试)。敏捷项目可以减少测试中的浪费,在早期发现问题,让团队在交付应用时增强信心。

63/6<123456>
100家互联网大公司java笔试题汇总,填问卷领取~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号