当前位置: 首页 > news >正文

对软件测试的认识误区

随着软件测试对提高软件质量重要性的不断提高,软件测试也不断受到重视。但是,国内软件测试过程的不规范,重视开发和轻视测试的现象依旧存在。因此,对于软件测试的重要性、测试方法和测试过程等方面都存在很多不恰当的认识,这将会进一步的影响软件测试活动的开展,并且阻碍软件测试质量的提高。下面简单列举了几种有代表性的对软件测试的认识误区,并作了相应的分析和解释。

误区之一:软件开发完成后进行软件测试

软件测试是一个系列过程活动,包括软件测试需求分析,测试计划设计,测试用例设计,执行测试。因此,软件测试贯穿于软件项目的整个生命过程。

软件测试的对象不仅仅是软件代码,还包括软件需求文档和设计文档。

软件开发与软件测试应该是交互进行的,如果等到软件编码结束后才进行测试,那么测试的时间将会很短,测试的覆盖面将很不全面,测试的效果也将大打折扣。更严重的是如果此时发现了软件需求阶段或概要设计阶段的错误,如果要修复该类错误,将会耗费大量的时间和人力。

误区之二:软件发布后如果发现质量问题,那是软件测试人员的错

软件中的错误可能来自软件项目中的各个过程,软件测试只能确认软件存在错误,不能保证软件没有错误,因为从根本上讲,软件测试不可能发现全部的错误。

从软件开发的角度看,软件的高质量不是软件测试人员测出来的,是靠软件生命周期的各个过程中设计出来的。出现软件错误,不能简单地归结为某一个人的责任,有些错误的产生可能不是技术原因,可能来自于混乱的项目管理。应该分析软件项目的各个过程,从过程改进方面寻找产生错误的原因和改进的措施。

误区之三:软件测试要求不高,随便找个人都行

很多人都认为软件测试就是安装和运行程序,点点鼠标,按按键盘的工作。这是由于不了解软件测试的具体技术和方法造成的。随着软件工程学的发展和软件项目管理经验的提高,软件测试已经形成了一个独立的技术学科,演变成一个具有巨大市场需求的行业。软件测试技术不断更新和完善,新工具、新流程、新测试设计方法都在不断更新,需要掌握和学习很多测试知识。

误区之四:软件测试是测试人员的事情,与程序员无关

开发和测试是相辅相成的过程,需要软件测试人员、程序员和系统分析师等保持密切联系,需要更多的交流和协调,以便提高测试效率。

另外,对于单元测试主要应该由程序员完成,必要时测试人员可以帮助设计测试样例。对于测试中发现的软件错误,很多需要程序员通过修改编码才能修复。程序员可以通过有目的地分析软件错误的类型、数量,找出产生错误的位置和原因,以便在今后的编程中避免同样的错误,积累编程经验,提高编程能力。

误区之五:项目进度吃紧时少做些测试,时间富裕时多做测试

一个软件项目的顺利实现需要有合理的项目进度计划,其中包括合理的测试计划。不要因为开发进度的延期而简单地缩短测试时间、人力和资源,因为缩短测试时间带来的测试不完整,对项目质量的下降引起的潜在风险,往往造成更大的浪费。

误区之六:软件测试发现缺陷越多,正式使用后缺陷越少

软件测试的目的是尽可能多的找出软件的缺陷,但是发现的缺陷越多,只能说明软件的缺陷多,并无法证明软件还遗留的缺陷有多少。假设缺陷在一定数量的情况下,测试人员业务非常精通,测试极其认真,发现越多的缺陷 ,说明还遗留的缺陷就越少。那么,我也可以假设随便这么一测,就发现了这么多缺陷,那这个软件应该还有很多。

当然,也并不是完全无法评估软件遗留缺陷的多少,我们可以根据开人员的工作经验与技术能力,测试人员的工作经验、测试技能、对业务的熟悉程度以及以往完成的项目质量进行评估。

相关文章:

  • 看不见的战斗——阿里云护航世界杯直播容灾实践
  • Docker实战-编写Dockerfile
  • fabric8 API操作ConfigMap
  • iview Table组件渲染操作按钮, render 渲染icon图标更改方法
  • Day4Linux命令规则
  • 大聊Python----IO口多路复用
  • Odoo 自定义Widgets 基础教程(章节2)
  • 线程、对称多处理和微内核(OS 笔记三)
  • js中写文档write和innerHTML的区别
  • React 16 Jest ES6 Class Mocks(使用ES6语法类的模拟) 实例二
  • 拉格朗日乘子
  • FE协同中流程无法提交
  • 《大道至简》读后感
  • mui集成微信H5支付(返回白屏问题已经解决)
  • JVM学习笔记二:内存结构规范
  • [译]CSS 居中(Center)方法大合集
  • 【Leetcode】104. 二叉树的最大深度
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • CAP理论的例子讲解
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • Druid 在有赞的实践
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • Quartz初级教程
  • Redis 中的布隆过滤器
  • Vue2.0 实现互斥
  • Vue官网教程学习过程中值得记录的一些事情
  • 大整数乘法-表格法
  • 聊聊sentinel的DegradeSlot
  • 为视图添加丝滑的水波纹
  • 携程小程序初体验
  • 鱼骨图 - 如何绘制?
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 主流的CSS水平和垂直居中技术大全
  • ​2020 年大前端技术趋势解读
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ###项目技术发展史
  • #laravel 通过手动安装依赖PHPExcel#
  • (12)Hive调优——count distinct去重优化
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (顺序)容器的好伴侣 --- 容器适配器
  • (算法)Travel Information Center
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转)我也是一只IT小小鸟
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET Micro Framework初体验(二)