软件测试概念

1,软件测试的定义和目的的理解

①为了发现程序的代码错误和逻辑错误②为了交付出更高质量的产品③为了提升用户体验④审核产品是否符合用户的需求

2,软件测试的阶段

①计划阶段:制定测试计划,申请人力,资源设备等。②设计阶段:主要是写测试用例,会参考需求分析,概要设计等文档。③执行阶段:搭建测试环境,执行测试,报bug等④评估阶段:对当前版本给出评估,出总结报告⑤验收阶段:评估过后给客户或者产品经理验收

3,软件测试模型:

①V模型:开发和测试同时进行。左侧是开发的流程,右侧是测试的流程。

需求分析(写作文):明确客户需要的功能(给了个题目,确定文体)  概要设计:架构的实现(要写几段,举什么例子) 详细设计:对概要设计的表述进行分析(确认具体每段要怎么写)  编码:写代码(写作)

单元测试(一般由开发完成)-->集成测试(一般由开发完成)-->系统设置(进行完整的系统测试,根据需求文档和测试用例来进行测试)-->验收测试(用户对软件进行验收)

软件测试概念_第1张图片

4,软件测试的种类:

1,单元测试2,集成测试3,系统测试4,验收测试,5,白盒测试(需要对代码有了解)6,功能测试(测试软件功能是否符合要求,通常用黑盒测试,黑盒测试也叫数据驱动测试)7,回归测试(错误被修正或软件功能,环境发生变化后进行重新测试,需要适当扩大范围)8,Alhpa测试 (前期的用户测试,此时系统刚刚研发完成,只能用户参加,研发和测试不能在场)9,Beta测试(一种后期的用户测试,此时系统已经通过内部测试,大部分错误已经改正,预发布)10,压力测试11,负载测试12,性能测试(10-12是性能这块的,不需要具体理解)13,易用性测试(测试软件是否易用,主观性较强,一般用户来做)14,安装与卸载测试(测试软件在全部,部分,升级等状态下的卸载,安装过程)15,安全性测试(测试系统防止非法入侵的能力)16,兼容性测试(测试改系统与其他软硬件兼容的能力)

5,Alpha和Beta的共同点和区别:

共同点:不能由程序员或者测试员完成

区别:Alpha测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试。Beta测试是软件在一个或多个用户的实际使用环境下进行的测试,开发者通常不在测试现场

6,c/s和b/s架构的区别:

c/s:client-server,客户端/服务器,一定要安装一个客户端才能够使用的软件,就叫做c/s。

缺点:必须更新客户端才能用最新服务

b/s:browser-server,浏览器/服务器,只需要一个浏览器,就可以访问服务的,就叫做b/s。

优点:只需要更新服务器就ok,不需要去更新软件,用户主动性高

7,软件测试专有名词

等价类划分,边界值分析法:等价类划分是指某个输入域的集合,一般分为有效等价类和无效等价类。如分数0-59是不及格,60-100为及格,1-100都是有效等价类,<0和>100是无效等价类。边界值分析是建立在边界值基础上,从等价类的边缘值去寻找。比如说0-59这个集合里面,0,1,58,59,60都是边界值。

错误推测法:用错误的操作,来检验软件是否给出正确的反应。比如微信发红包,发201元,看看是否会给出无法发送提示。

软件测试概念_第2张图片

因果图法/判定表法(实际测试用的较少,但面试可能会考):因果图法最终生成的就是判定表,适合检查程序输入条件的各种组合情况,一般可以根据因果图画出判定表

软件测试概念_第3张图片

判定表

软件测试概念_第4张图片

场景法:也叫业务逻辑测试法,可以根据逻辑来测试不同场景,接近白盒测试,比如一个网站的登陆功能:

软件测试概念_第5张图片

8,隐性需求(消费者在头脑中有想法但没有直接提出、不能清楚描述的需求)要怎么办?

①借鉴同类产品②咨询开发或者产品,尽可能挖掘更多信息③三方一起开会讨论(市面上没有同类产品情况下)

9,如何做需求分析?

①知道具体是做什么的②知道业务场景有哪些③功能分析:主要的功能第一阶段测试,次要的功能第二阶段测试,易用性需求(如微信摇一摇易用性比qq的下拉抢红包好),编辑约束(在功能执行时,对项目的一些约束性条件,如限制大小写之类),参数需求,权限需求(管理员权限比普通用户权限高)

10,测试用例写法

用例编号,功能模块,用例名称,前提条件,操作步骤,期望结果,实际结果,备注。

软件测试概念_第6张图片

你可能感兴趣的:(软件测试概念)