关于验收测试的几个困惑

发表于:2016-6-13 10:25

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

 作者:屠一刀    来源:51Testing软件测试网采编

  相关概念
  单元测试:单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。一个软件单元的正确性是相对于该单元的规约而言的。因此,单元测试以被测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。
  集成测试:集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。
  系统测试:系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的 “ 先知者问题 ” 。因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试性能测试、随机测试等等。
  验收测试:验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。所不同的是,验收测试常常有软件系统的购买者代表在现场,甚至是在软件安装使用的现场。这是软件在投入使用之前的最后测试。
  回归测试:回归测试是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。这里,修改的正确性有两重含义:一是所作的修改达到了预定目的,如错误得到改正,能够适应新的运行环境等等;二是不影响软件的其他功能的正确性。
  困惑一:自动化验收测试 vs 手工验收测试
  通过合理地创建和维护自动验收测试套件,其成本就会远低于频繁执行手工验收和回归测试的成本:
  手工测试通常都是在项目的最后、软件即将发布、整个团队都面临压力的情况下进行的;
  原计划中预留的时间并不足以修复手工验收测试中发现的缺陷;
  当需要比较复杂的修改才能修复刚发现的缺陷时,很可能引入新的回归问题。
  结论:自动化验收测试是很有必要的。
  困惑二:创建和维护自动化验收测试的成本太高
  将自动化验收测试的成本降到投入产出比可接受程度是可能的。实现自动化验收测试的两种方法:
  直接基于业务层执行测试。前提是表现层只负责展现,不要涉足业务领域或应用逻辑。如:基于MVC的Controller进行测试。
  基于应用程序的GUI运行。需要使用分层将验收测试和UI解耦。
  结论:自动化验收测试如果成本高是因为设计得不够好。
  困惑三:基于GUI进行验收测试时,如何让测试与GUI解耦
  验收测试的层次:
  验收条件。“假如……当……那么……”。
  测试实现层。代码使用领域语言,不引用UI元素。
  应用程序驱动层。理解如何与应用程序进行交互,来执行一系列动作,并返回结果。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号