一、 什么是软件测试,常见的软件测试分类
1、通过人工或自动的方式运行软件,发现软件潜在的缺陷并使其得到有效处理的过程
2、发展阶段
1)以功能验证为导向,测试是为了证明软件是可用的(正向思维)
2)以破坏性为导向、找到软件的错误(逆向思维)
3)以发现缺陷、预防缺陷为主,测试是为了展示软件符合设计要求
3、软件测试的作用
发现更多软件潜在问题,将问题所带来的的危害、影响降到最低
4、软件测试的分类
一、软件测试流程
1、软件生命周期
可分为一下阶段:项目计划–需求分析–设计阶段–程序编码–测试-运维
项目计划:确定软件开发整体目标,要达到的标准
需求分析:对需求进行确切的描述,得到软件说明书
设计阶段:对整体架构及基础需求的设计,得到概要和详细的设计说明书
程序编码:开发人员将详细说明书编写成可执行的软件程序
测试:测试开发提供的程序是否符合需求,是否达到功能要求
2、软件研发流程
1)项目立审-明确目标、团队、需求调研
2)需求分析
3)概要设计
4)详细设计
5)编码
6)测试
7)运维
3、软件测试流程
1)需求评审:在测试前拿到产品需求文档,进行需求分析及需求评审前先
对需求文档进行详细的阅读,对有疑问的地方进行标注
2)测试设计:
3)测试用例评审:测试作为主导,联合开发进行测试用例评审
4)冒烟测试:在进行大规模的测试前,验证基本功能的正常性,以确认可以进行正式测试
5)系统测试与缺陷跟进:在系统测试时发现BUG需要及时提交并紧跟BUG修改状态
6)上线发布:经过一系列的测试,确定产品可以上线
一、软件测试模型
V模型、W模型、H模型、X模型,其中V模型是最
具代表性的软件测试模型,需要掌握,其余模型了解即可
1、V模型从左往右依次是
用户需求-需求分析-概要设计-详细设计-编码-单元测试-集成测试-系统测试-验收测试
优点:目标明确,具有阶段性、顺序性和依赖性,包含了对于源代码的底层测试,也包含了对于软件需求的高层测试。
缺点:有一定的局限性,它只有在编码之后才能开始测试,不符合尽早测试的原则 。
2、W模型又称双V模型,它由V模型演变而来,弥补了V模型的不足。左边的V是开发的生命周期,右边的V是测试的生命周期。
优点:测试范围包括程、需求分析、软件设计等前期工作,这样有利于尽早地全面发现问题
缺点:将软件开发过程分成一系列的串行活动,无法支持迭代、自发性等需要变更调整的项目
3、H模型只体现了测试过程,未体现开发过程,它表明测试是一个独立的过程(对测试人员要求高),在实际工作中,H模型并无太大指导作用。
4、X模型也是对V模型的改进,X模型的左边描述的是针对单独程序片段所进行的 相互分离的编码和测试,此后将进行频繁的交接,通过集成,最终成为可执行的程序,然后再对这些可执行程序进行测试。
X模型能够帮助有经验的测试人员发现更多测试计划之外的软件错误,但这对测试人员要求会高一些。
5、瀑布模型:强调需求,设计的作用;文档工作量大,强制的完成时间结点
二、测试用例的定义与作用
1、定义:
1)为了特定目的设计的测试条件、测试数据、及相关操作序列
2)有效的发现软件缺陷的最小测试执行单元
3)也称功能、黑盒测试用例
4)是软件测试的核心,是程序质量好坏的根本保障
2、作用:
1)测试用例是测试的思路与计划,避免盲目和重复
2)测试用例可以用来体现个人工作量
3)体现测试过程的覆盖率,是衡量发布的重要指标
4)测试用例在测试中的合格率能体现版本质量
5)测试用例具有一定复用性,便于新人上手
3、分类:
1)正面测试用例:有效的输入数据构成的测试用例
2)反面测试用例:无效的输入数据构成的测试用例
4、测试用例编写依据
说明书、设计稿、用户手册
5、测试用例的基本元素
1)用例编码:唯一标识
2)所属模块:标识被测功能所在模块
3)用例等级:
基本功能、重要功能、一般功能(最多)、异常流程
4)用例标题:说明测试目的
5)前置条件:验证被测功能所需条件
6)操作步骤:具体实施步骤
7)预期结果:检验用例是否通过的标准
8)用例状态:检验用例是否已执行
6、测试用例编写建议
1)标题简单、明了,说明测试用例的用途
2)如果有明确的前提条件时,不要遗漏
3)操作步骤清晰
4)涉及到取值的,给出明确的数值
5)可以按模块或功能点,规划测试用例的编写
7、测试用例编写工具
Excel、XMind、Word
总结:本章重点在于了解软件测试的基本概念,发展阶段,基本分类,及V&W模型的流程,和他们的优缺点。软件测试的基本分类,按照不同方面可分不同种类,在今后的学习中我们会针对个别测试进行详细讲解,以及如何去执行这类测试。