首页 > 技术文章 > 如何做好测试工作

xiaogangblog 2020-09-04 21:53 原文

如何做好测试工作, 必须提高测试效率
效率的真正意义,效率不等同于速度,效率是由速度加质量加进度组成,
提高效率不仅仅要提高速度,还要保证测试的质量和项目的进度。
1.测试人员在测试前期要充分的了解和把握需求
要确保自己对项目的需求有充分的正确的理解,
对于那种项目周期跨度比较大的项目,提取出重要的测试点和功能点记录下来,
2.要多和项目经理,开发甚至是客户经理沟通
要进行有效的沟通,测试人员之间也要进行相互的沟通
开发人员告知你他们所做的调整可能会影响哪些模块,让测试人员在测试的时候有一个侧重点,保证项目的测试质量。
测试人员也需要和客户经理沟通,多了解客户的和用户的需求,多关注用户场景,帮助测试人员更好的测试项目
3.根据项目的整体情况以及后续的变化不断的调整我们的测试计划
4.每次测试结束之后都要总结和反思
反思是纠正错误的第一步,不断反思,才能不断完善。
测试人员在每次的测试结束之后,都要反思本次的测试情况,
包括本次测试了什么,关注了什么,遇到了哪些问题,有哪些新的调整,落实的情况如何等等,
以方便自己在下一轮测试的时候不会手忙脚乱,没有侧重点,毫无头绪的开展工作,也能更好的保证自己的测试质量。
5.在整个测试过程中,要学会调整自己的状态,时刻保持愉悦的心情工作
做任何事情,态度决定一切,你以什么样的心态和态度做事,将直接左右着你的做事质量。
测试工作有的时候是繁琐重复枯燥无味的,
我们机械的点击鼠标执行用例,或者我们不断重复的做某个操作,反复的回归验证已经重复了很多次的场景,
这样的生活可能会枯燥无味,让你丧失激情。如果你在这样的心境下进行测试工作,那么将很难保证测试的质量和效率。
所以我们要学会调整自己的心情,调整自己的心态,以一个激情向上,愉悦的心情去开展测试工作。
6.适当的引入自动化测试,减少繁琐重复的测试工作
手工测试固然能保证测试的质量,但也是对人耐性的一个考验,而自动化测试既能保证测试质量,又能节省时间。
对程序的回归测试更方便
可以运行更多繁琐复杂的测试
可以执行一些手工测试困难或者不可能进行的测试
可以开展兼容性测试,减少实际的兼容性测试时间以及提高测试的覆盖率
所以说为了保证测试的质量和进度,提高测试效率,我们可以适当的引入自动化测试。
传统的手工测试是必不可少的,以手工测试为主。


  软件测试是为了尽早发现软件缺陷,确保缺陷修复,以提高软件质量,决定软件质量的关键是需求分析、设计和实现,而测试是贯穿于上述过程的一种检查手段。即便功能开发好了,没有经过测试,这也是一个不可靠的程序。
 什么是软件测试
  软件测试是描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
  简单地说,软件测试是为了发现错误而执行程序的过程。 软件测试是软件质量保证(QA)的一个重要环节。
  软件测试的目的
  测试是程序的执行过程,目的在于发现错误;
  一个好的测试用例在于发现了至今未发现的错误;
  一个成功的测试是发现了 至今未发现的错误的测试;
软件测试原则
  所有的软件测试都应追溯到用户需求
  应当把“尽早地和不断地进行软件测试”作为测试者的座右铭
  完全测试是不可能的,测试需要终止
  测试无法显示软件潜在的缺陷;
  充分注意测试中的群集现象
  程序员应避免检查自己的程序
  尽量避免测试的随意性
 软件测试对象
  软件测试贯穿于整个软件生命周期中,不同阶段测试的对象和方法不同。
  主要包括可执行研究报告、项目实施计划、软件需求说明书或系统功能说明书。开发阶段的概要设计说明书、详细设计说明书以及源程序
软件测试分类
  软件测试主要分为白盒和黑盒,白盒关心软件内部设计和程序实现,依据是设计文档;而黑盒不关心软件内部,只关心输入输出,依据是需求文档。白盒一般由开发人员负责,测试单元代码,我们一般所认为的软件测试工程师做的是黑盒测试,负责整体系统流程测试。
  黑盒测试又包括:
  功能测试(根据需求说明,验证功能)、用户界面效果(易用性、视觉效果)、性能测试(处理业务的速度)、健壮性测试(异常情况下,系统的容错能力和恢复能力)、安全性测试、压力测试(极限状态的负载量)、可靠性测试、安装/卸载测试
  黑盒测试的方法:
  等价类划分(划分相同价值的集合,避免重复性工作)、边界值分析、错误推测法、因果图法、场景分析法。
  其实还有一种是灰盒测试,针对程序的接口,关注输出对于输入的正确性,通过表征现象、条件来判断内部的运行状态。主要用于及集成测试的阶段
 软件测试的阶段
  1、单元测试,即一个个功能模块进行测试(白盒测试)
  2、集成测试,将接口集成后,测试接口传输数据的准确性(黑盒、白盒测试,也称为灰盒测试)
  3、系统测试,联网后,整体流程测试(黑盒测试)
  4、验收测试,由客户验收的测试(黑盒)
软件测试的流程
  1、制定测试计划,根据需求安排人员、项目阶段、时间、测试工具、浏览器等;
  2、设计测试用例,根据需求规格说明书,写清测试的条件、步骤、结果,即如何测;
  3、执行测试,当测试计划、用例已审批且测试对象开发完后即可开始,发现问题提交bug给开发,修复完再回归测试;
  4、写测试报告,内容包括本阶段测试了什么功能,有哪些问题,问题严重性以及提出问题若不能修复的备选方案;
  5、当前功能性测试用例通过率达100%,非功能性测试用例通过率达90%,且最近时间内测试无暴漏情况,测试结束。
软件测试中应该注意的事项
  1)有合法的数据输入,同样有非法的数据输入
  2)在对程序修改之后应该进行回归测试
  3)应充分注意测试中的集群现象(发现的问题越多,未发现的问题也越多)
  4)妥善保留测试计划、测试用例和相关的测试报告
  5)对测试结果做全面检查,避免遗漏
  6)严格执行测试计划,排除测试的随意性

推荐阅读