软件测试中存在的问题

发表于:2013-2-28 13:17

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

 作者:赵忠华    来源:51Testing软件测试网采编

  2.3 测试代码随意编写

  大家肯定知道测试代码是不能随意编写的,并且在编写测试代码时也不是抱着一种随意的态度,但是编写出来的测试代码以及测试代码运行的情况往往表现出了一种随意性和无序性。可能是因为没有弄清楚测试的真正意图所在。

  测试是用来检验软件系统是否满足了需求。所以,测试代码一定要明确的表达出这一点来。如果测试者真正从用户的需求出发,那么他编写出来的测试脚本应该是每一个测试用例都清晰的刻画了一项用户的需求,然后检验系统是否实现了用户期望的功能。这样的测试才是有明确目的,才是最有效的测试。软件系统测试计划应能覆盖百分之百的软件功能。可以通过建立一个“跟踪需求能力矩阵”来保证。矩阵的行为测试用例,列为需求。矩阵中,用数字1标识该行的测试用例核实了该列的需求。根据矩阵中1的位置,我们可以判断出是否有需求未被核实,或是否有测试用例为无效用例。

  在单元测试中,也经常会看到一些类似的错误测试方法。很多的测试者往往针对程序中每个特定的实现细节进行测试。然而特定的实现细节是很容易变化的,一旦测试的程序中某个实现细节发生了变化,原先的测试代码就要进行相应的更改,否则就失去了意义。这种频繁更改的代价是巨大的。

  细想一下,造成容易陷入针对实现细节测试的原因主要是由于先编写完代码,然后才去进行测试,潜意识中就会不由自主的想去验证已经完成的某些实现细节。如果能够在编写代码前,首先编写针对该模块的测试代码,情况就会有很大的不同,因为这会迫使你从使用者的角度去考虑问题。结果就是会把关注点放在模块的功能上,而不是某种实现细节。这样写出来的测试代码要稳定的多,也有效的多。

  2.4 不需专门的测试人员

  了解软件测试的人都知道,测试是需要专门的测试工程师。然而事实上,多数软件测试的工作都是由编程人员自己进行的。但编程人员与测试人员的思维方式不同。编程人员的工作是编码,他们潜意识里进行测试是想验证自己的代码没有错误,而不是发现错误,有时可能会为了方便测试而修改源代码。测试人员则应该具有挑刺的性格,他的工作是否定生成的代码,找出代码中存在的缺陷。任何一个人都难以同时胜任这两种具有不同工作取向的任务。

  所以,资深的程序员不一定是一名优秀的测试工程师,必需由独立的人员和小组来进行软件测试。并且单单指定一个或几个人,说他们现在就是测试小组的成员是不够的,应该培训该小组成员如何进行软件测试。

  那么,在一个项目中开发人员与测试人员的比例为多少是比较合理的?一般情况下,对于生命悠关的软件,如航天飞机的飞行控制软件,每个开发者对应10名测试者;而不要求高可靠度的室内商业软件,一个测试者可以对应3到4个开发者。

  3、结束语

  随着软件工程学的发展和软件项目管理经验的提高,软件测试已经成为一个独立的技术学科,演变成一个具有巨大市场需求的行业。软件测试技术不断更新和完善,新工具、新流程、新测试设计方法都在不断涌现,需要掌握和学习很多测试知识。同时,要知道测试是探测软件质量水平的方法,不是保证软件质量的手段,为了测试而测试并不能改善软件质量。将测试与改正缺陷相结合,或将早期资料保证活动与测试相结合。只有这样,才能够使测试真正起到它应有的作用,达到提高软件质量的目的。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号