如何进行“有效”测试的探讨

发表于:2018-1-19 11:27

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

 作者:王小双    来源:软件工程之思

  即使是一些资深的测试工程师,也会承认:
  测试的主要困难是不知道如何进行有效地测试,也不知道什么时候可以放心地结束测试。
  如果不知道什么样的测试是“有效”的测试,项目组就会面临这样的问题:预留给测试的时间用完了,即使怀疑软件中仍然遗漏很多缺陷,也只好匆匆收场,把麻烦留给将来。
  怎样的测试才是“有效”的测试?面对这一难题,估且谈谈自己的一些粗浅的看法,借以抛砖引玉。
  ●要合理安排测试人员。
  测试活动是由人来完成的,所以测试是否“有效”要看执行的人安排得是否恰当。
  1)程序员不能测试自己的程序
  测试的思维和开发是完全不同的。开发者是从完成软件功能以及软件的质量出发来考虑问题的,而测试人员则是从发现软件缺陷的角度来考虑问题的。程序员要测试自己的程序,很难做好这种思维的转变。从心理上,要对自己的作品挑错,也是很难做到的一件事。
  2)安排最好的程序员测试
  测试并不是一件简单的事。要能从一个功能已经实现的软件产品中找到错误,需要具备一定的经验程序员才有可能做好。如果随便安排一个人来做测试,有可能只能给出一堆让软件产品顺利通过的无用的测试用例而已。
  ●正确理解测试的目的
  测试是为了找出缺陷,不是为了证明程序是正确的。只有从这个目的出发,才有可能发现程序中潜在的错误。
  如果为了说明软件有多么好,那么应当制作专门的演示。千万不要将“测试”与“演示”混为一谈。
  ●注重异常测试
  在进行测试设计的时候,不仅要编制有效输入数据的测试用例,还要编制无效输入数据的测试用例。有效输入,只能验证程序的功能性是否正确,对于程序的可靠性,安全性,它是无能为力的。
  ●分析测试结果
  完成一轮测试之后,不仅要对发现的问题进行改错,对更改的代码进行回归测试,还应对测试结果进行分析,以决定:
  1)是否满足测试终止条件,可以结束测试。
  2)在已发现的问题类型当中,是否存在一些习惯性或普遍性的问题,如果有,分析其可能存在的位置,设计合适的测试用例,找出它来。
  3)通常在已经发现错误的地方会发现更多的错误。要分析已经发现问题的测试用例设计的是否充分,是否需要设计新的测试用例,以找出尚未发现的问题。
  ●必要的测试类型一个都不能少
  测试一般包括单元测试集成测试系统测试、验收测试。从开发与测试的关系来看,这些测试类型分别用于验证详细设计、结构设计、需求规格说明、用户需求。单元测试,用于验证软件单元的正确性;集成测试,用于验证软件单元和模块接口的正确性;系统测试用于验证软件需求的实现;用户测试,用于验证用户需求的实现。这些测试类型验证的对象完全不同,只有完成了这些测试工作,开发出来的软件才满足“正确的做”和“做的正确 ”。所以这些测试类型,一个都不能少。
  测试类型的有效性
  1)单元测试的有效性
  a)单元测试,要确保详细设计的软件单元的功能的实现;
  b)最合理的单元测试,应当是边开发、边审查、边测试。如果等到所有的软件单元全部开发完成,才开始进行单元测试,你会耗费更多测试的时间;
  c)单元测试,要解决软件单元代码的规范性、正确性的问题;
  d)单元测试要满足一定的代码覆盖率和路径覆盖率的要求,特别是关键的软件单元。
  2)集成测试的有效性
  a)制定一个有效的集成策略。集成顺序不应是随意的,应优先考虑那些关键的软件单元(如果它出现问题,将给软件带来很大的影响后果)以及与软件外部输出有关系的软件单元。
  b)在开发软件单元的时候就要考虑集成的顺序,将单元测试和集成测试一并考虑,按照提成的先后顺序开发软件单元,边开发边审查边测试边集成。
  3)系统测试和验收测试的有效性
  a) 系统测试和验收测试,都不应只关注功能测试性能测试接口测试,除此之外,还要考虑用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试等内容。
  b) 验收测试是以用户为主导的测试,验收测试的测试用例应从用户使用的角度考虑。
  以上零零散散地谈了几点如何“有效”测试的想法。这些是从过程方法上面谈的,后面会从技术层面再来探讨。


上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号