鲁德培训www.testroad.org/软件测试学习
什么是软件自动化测试
自动化测试的本质是:用程序测试程序,也就是将测试用例章节中的测试用例,用代码来实现,即用代码完成测试步骤的执行、预期结果和实际结果的校验工作,因此想从事自动化测试工作需要有编码基础。软件自动化测试工具种类繁多,在功能测试领域、性能测试领域、安全性测试领域以及白盒测试领域都有对应的成熟产品工具,刚接触自动化测试的小白建议从功能测试工具开始着手,目前业界流行的软件功能自动化测试工具如下表所示: 被测软件类型 推荐自动化工具 Windows应用 SilkTest、Ranorex Selenium 浏览器应用 Android应用 Robotium、UIAutomator、Appuim、Monkeytalk IOS应用 Appuim、Monkeytalk 什么是Bug
软件的Bug也叫缺陷,狭义概念是指软件程序的漏洞或缺陷,广义概念除此之外还包括测试工程师或用户所发现和提出的软件可改进的细节、或与需求文档存在差异的功能实现等。
在“用例模板实例”中的第一条用例,如果未登陆的用户能够购物,那么这就是一个Bug。
Bug的状态
由于Bug从被测试人员发现到被开发人员修改需要经历一系列的流程,因此Bug是有状态的,基础的Bug状态变更流程 如图2所示:
鲁德培训www.testroad.org/软件测试学习
图2
Open:测试人员发现了一个Bug,并提交。 修改该中:开发人员接收Bug,开始修改。 已改:开发人员修改好Bug,等待测试人员验证。
关闭:测试人员验证Bug被修改好后,将Bug状态更改为“关闭”;如果验证Bug未被改好,需要将Bug状态重新更改为“Open”。验证Bug是非常重要的测试环节。在理想的项目中,项目结项时Bug全部应该是“关闭”状态。
在实际情况中Bug的变更流程要比这个基础流程复杂很多很多…
Bug的模板
Bug是测试人员提出的并且需要开发人员改正的问题,要让别人改正,首先要保证自己写的Bug是规范的、正确的、完善的,因此为Bug创建一个书写模板是非常必要的。
Bug模板包括的主要内容有:Bug的描述、Bug的严重程度(公司都有各自的标准) 、发现Bug的版本、复现Bug的步骤、以及期望结果和实际结果。
例如:我们假设在淘宝网用户登陆场景中有个Bug: 未登陆的用户能够购物。那么该如何描述这个Bug呢?
Bug的描述:用户在未登录的条件下能进行购物 Bug的严重程度:A
鲁德培训www.testroad.org/软件测试学习
发现Bug的版本:0.2 复现Bug的步骤:
1.访问淘宝网http://www.taobao.com/ 2.选中任意商品,并点击“立即购买” 期望结果:弹出用户登陆对话框
实际结果:未弹出用户登陆对话框,可以购买商品
是不是感觉和测试用例中包含的内容很像?其实提交Bug也就是将测试用例中状态为“Fail”的Case,反馈给开发人员并让其修改,然后对这一修改过程做的完整记录。 注意:
对Bug的描述一定要准确,确保开发人员能够通过Bug提交者编写的“复现Bug步骤”将Bug复现,在提交Bug时附上错误截图是非常有效的方法。
什么是测试大纲
测试大纲的编写目的是确定测试目标,明确测试范围,主要包括: 确认测试环境(软硬件环境)。
确认测试的模块以及模块中的主要测试点。
确认测试工具的使用(用例用什么编写、Bug用什么提交、是否使用自动化测试工具等等)
测试大纲主要由测试负责人编写。 什么是测试计划
测试计划的编写目的是细化测试大纲,并描述要进行的测试活动所需的资源、人力以及进度的文档。它确定测试项、被测特性、测试任务、谁
鲁德培训www.testroad.org/软件测试学习
执行任务、各种可能的风险。测试计划可以有效预防计划的风险,保障计划的顺利实施。
测试计划主要由测试负责人编写。 测试类型有哪些
从软件开发的过程按阶段划分
包括:单元测试、集成测试、系统测试、验收测试和回归测试,具体请参考图3:
单独子模块的测试,一个模块的功能及常规错误测试,侧重于代码。 各模块联调测试,集中在各模块的接口是否一致、各模块间的数据流和控制硫是否按照设计实现其功能、以及结果的正确性验证等等。侧重于接口
针对整个产品的全面测试,既包含各模块的验证性测试和功能性测试,又包括对整个产品的健壮性、安全性、可维护性及各种性能参数的测试。 让系统用户决定是否接收系统,是一项确定产品是否能够满足合同或用户所规定需求的测试。