软件测试基础1--功能测试

1、什么是软件测试?

软件是控制计算机硬件运行的工具。

软件测试:使用技术手段验证软件是否满足使用需求,为了发现软件功能和需求不相符合的地方,或者寻找实际输出和预期输出之间的差异。

软件测试的目的:减少软件缺陷,保证软件质量。

1.1、测试的主流技能

接口测试:使用代码,工具对服务端提供的接口进行测试

功能测试:验证程序的功能是否满足需求文档上的

自动化测试:使用代码或工具代替人工测试

性能测试:模拟多人使用软件情景,查找服务器缺陷(bug)

1.2、测试的分类

按测试的阶段划分:

单元测试:针对程序源代码测试,比如JUnit

集成测试:即接口测试,针对每一个模块提供的访问地址进行测试。

系统测试:对整个系统进行测试,包括功能,兼容性,文档等等测试

验收测试:即内侧,公测,使用不同人群发掘系统缺陷

按代码可见度划分:

黑盒测试:源代码不可见,根据已实现的功能进行测试,对测试人员的代码阅读力较低

灰盒测试:部分代码可见,类似于接口测试。

白盒测试:源代码透明,类似于单元测试。

2、软件的质量模型

质量模型是衡量软件好坏的维度

功能性:功能数量是否正确(不能多不少),功能是否正确的实现,发生错误时是否能正确处理

性能:服务器每秒处理请求数够吗?硬件配置是否能满足?

兼容性:能在不同的操作系统上运行吗?能在不同内核的浏览器(谷歌,IE,火狐,苹果,欧朋)上使用吗?在不同品牌手机上运行正常吗?在不同网络环境下运行正常吗?

易用性:使用方便吗?页面美观吗?系统流畅吗?界面简洁吗?

安全:信息传输,信息存储是加密吗?

可靠性:是否无响应?是否卡顿?是否崩溃(死机)?

可维护性:后期维护服务器时是否方便?

可移植性:数据迁移,更换服务器时,是否方便?

3.测试流程

需求评审:确保各部门理解一致

计划编写:测什么,谁来测,怎么测

用例设计:验证项目是否符合需求文档

用例执行:项目模块开发完成后,进行测试

缺陷管理:项目存在缺陷时,从提出bug到修复bug的全过程

测试报告:实施测试结果文档

3.1、测试用例

用例是什么:是用户使用的案例,测试用例就是为了测试项目而设计的文档

3.1.1、设计测试用例的作用

  • 防止漏测
  • 实施测试的标准

3.2.2、测试用例编写格式

用例编号:项目_模块_编号

用例标题:预期结果(测试点)

项目/模块:所属项目或模块

优先级:测试用例的重要程度(P0最高)

前置条件:执行用例前要做的操作

测试步骤:描述怎么测试

测试数据:测试时需要输入的数据,没有为空

预期结果:期望达到的结果

3.2、设计测试点的方法

3.2.1、等价类划分

等价类划分适合需要大量输入数据的地方,但是又不能穷举输入测试

适用于表单的输入框,下拉列表,单选复选框

根据需求的长度,类型,规则进行划分

在有效等价类中选一个作为代表,在无效等价类中各选一个作为总共的测试用例

需求1:验证QQ账号的合法性,QQ账号是6-10位的自然数

需求2:验证手机号的合法性

需求3:给你一个花瓶,给出它的测试用例

首先,硬件还要添加一个属性

1属性测试:花瓶大小,重量,材质,外观

2功能性测试:插花,装水,养鱼

3性能测试:防摔,耐高温,耐低温,耐腐蚀,抗压

4兼容性测试:装水,装饮料,装果汁

5易用性测试:防滑,便携,方便使用

6安全性测试:材质健康,不发生化学反应,不易燃易爆

3.2.2、边界值分析

边界范围节点:选取上点,离点,内点

边界值分析一般都要和等价类划分一起使用,先划分等价类,再分析边界值,最后编写用例。适用于有边界范围的输入,至多,至少重量,最大,最少等等。

上点:正好等于边界值的点

离点:距离上点最近的点,左右各一个

内点,合法范围内中的点

需求1:标题大于0,小于等于30个字符

边界值优化,将七个点优化为五个点,即优化离点,开内闭外

开区间保留内离点,闭区间保留外离点

3.2.3、判定表

判定表用于解决多条件的依赖问题,判定表适用于4个条件以下,较少的情况。

根据判定表设计的用例,数量是2的条件桩次方

3.2.4、场景法(流程图)

用流程图表述用户的使用场景,流程图适用于覆盖业务测试,先测试业务,在测试单功能,单页面

3.3.5、错误推断法

通过测试经验,推测系统可能出现,容易出现的问题,只适用于时间紧,任务量大的场景

4、缺陷

缺陷就是软件使用过程中出现的问题,即BUG

4.1、缺陷的判断标准

软件未实现需求规格说明书要求的功能--少功能

软件实现的功能超出需求规格说明书的要求--多功能

软件出现了需求规格说明书中指明不应出现的错误--功能错误

软件没有实现需求规格说明书中未指出但应当实现的要求--隐形功能错误

软件难以理解,体验差,运行缓慢--不易使用

4.2、缺陷产生的原因与生命周期

4.3、发现缺陷后怎么描述

当发现缺陷时,应该怎么办?

首先保证该缺陷可以重现,其次确认为bug,之后才可以提交

4.4、缺陷管理工具

禅道:在禅道上提交,验证,关闭bug

相关推荐
程序员威子11 小时前
软件测试中的白盒测试,这些技巧你知道吗?
功能测试·测试工具·jmeter·单元测试·测试用例·压力测试·postman
天蓝蓝235282 天前
压力测试知识总结
压力测试
hai405872 天前
软件测试之压力测试知识总结
压力测试
代码小念3 天前
12道经典性能测试人员面试题
软件测试·压力测试
MJH8273 天前
如何防止常见的Web应用安全漏洞!
前端·自动化测试·软件测试·功能测试·单元测试·集成测试·压力测试
慧都小妮子4 天前
CrowdStrike 的失败如何凸显了左移测试的重要性
软件测试·单元测试·压力测试·parasoft
MJH8274 天前
【压力测试】如何确定系统最大并发用户数?
自动化测试·软件测试·功能测试·测试工具·单元测试·压力测试·性能测试
小火柴棒5 天前
Linux学习笔记(4)----Debian压力测试方法
linux·笔记·学习·压力测试
测试19985 天前
软件测试之压力测试知识总结
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·压力测试
Lightning-py5 天前
pytest压力测试:不断发送数据,直到发现数据丢失
服务器·pytest·压力测试