软件测试
软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
测试原则
对计算机软件进行测试前,首先需遵循软件测试原则,即不完全原则的遵守。不完全原则即为若测试不完全、测试过程中涉及免疫性原则的部分较多,可对软件测试起到一定帮助。因软件测试因此类因素具有一定程度的免疫性,测试人员能够完成的测试内容与其免疫性成正比,若想使软件测试更为流畅、测试效果更为有效,首先需遵循此类原则,将此类原则贯穿整个开发流程,不断进行测试,而并非一次性全程测试。
所谓的测试原则指的就是我们在执行测试工作时必须要遵守的一些规则:
1.测试证明软件存在缺陷:无论执行什么样的测试操作都保能证明当前软件是有缺陷的。
2.不能执行穷尽测试:有些功能是没有办法将所有的测试情况都逻列出来,所以任何的测试操作都有结束的时间。
3.缺陷存在群集现象:对于软件功能说,核心功能占 20%,非核心是 80%。在实际工作中我们会集中测试 20%的核心功能,所以这个部分发现缺陷的几率就会高于 80%。因此我们我们就会遇到缺陷都集中在 20% 功能模块里的现象。比如qq的核心功能就是聊天,但是它还有很多其他的功能。
4.某些测试需要依赖特殊的环境
5.测试应尽早介入:为了更多的发现和更好的解决软件中的缺陷,我们追求测试工作尽早的开展。
6.杀虫剂现象:同样的一个测试用例不能重的执行多次,因为软件会对它产生免疫。
7.不存在缺陷谬论:任何软件不可能是完美的。
测试方法
静态测试方法
动态测试
黑盒测试
白盒测试
测试流程
1. 需求分析
(1) 当前阶段的核心目的就是梳理清楚我们需要设计的点是什么。
(2) 需求的来源:需求规格说明书、API 文档、竟品分析、个人经验
2. 设计用例:
(1) 用例就是用户为了测试软件的某个功能而执行的操作过程。
(2) 设计用例是有方法的( 等价类、边界值、判定表...... )
3. 评审用例:对当前的用例进行添加或者删除。
4. 配置环境
(1) 环境:指的就是当前被测对象运行所需要的执行环境,做为测试人员需要具备配环境的能力。【 一般情况下都会使用一键安装的集成环境 】
(2) 环境分类:操作系统 + 服务器软件 + 数据库 + 软件底层代码的执行环境。
5. 执行用例
(1) 一般在执行用例之前我们会做一个冒烟测试。 这种测试的核心就是快速的对当前软件的核心功能或者主体执行流程进行验证。如果冒烟测试阶段有问题,则可以将此版本回退给开发。
(2) 如果冒烟测试通过那么才会开展示全面的测试。
6. 回归测试及缺陷跟踪
(1) 回归测试指的就是当我们将某个缺陷提交给开发之后,由它们进行修复,修复完成之后需要测试认员再次对其进行测试【回归测试】
(2) 缺陷跟踪:指的就是当测试人员发现某个缺陷之后需要一直对其进行状态的跟踪。
7. 输出测试报告
将当前的测试过程中产生的数据进行可视化的输出。方便其它人去查看。
8. 测试结束
当将整个测试过程中产生的一些文档进行整理归档,方便后续版本使用。