IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 软件测试基础 -> 正文阅读

[开发测试]软件测试基础

目录

1.软件测试的重要性

2.软件测试的定义

3.测试与调试的区别

4.软件测试的原则

5.软件的生命周期

5.1瀑布模型

5.2v模型

5.3w模型

6.1单元测试UT

6.2集成测试IT

6.3系统测试ST

6.4 UT、IT、ST的区别

6.5 验收测试 VT

7.软件测试活动的流程(软件测试的生命周期)

8.什么是冒烟测试

9.软件测试类型

10.软件测试的方法

11.缺陷管理

11.1缺陷属性

11.2缺陷报告的基本元素

12.缺陷的生命周期

13.软件质量

13.1 质量模型

13.2软件质量管理活动的构成

14.测试用例的定义

15.测试用例的优缺点

16.测试用例的设计方法


1.软件测试的重要性

没有经过测试的软件,其质量是得不到保证的,小到影响人们的日常生活,严重的会使人们的财产受到损失,致命的甚至会危及到人们的生命安全

2.软件测试的定义

根据侧重点不同,有三种不同的观点:
a.软件测试就是为了发现错误而执行程序的过程,目的就是为了发现错误。
b.使用人工或者工具测试某个系统的过程,其目的是检验其是否满足需求的规定或者是弄清预期结果与实际结果之间的差别
c.软件测试是一种重要的软件质量保证活动,包含“分析”与“运行”。

3.测试与调试的区别

调试是开发过程中发现错误并修复错误的过程;
测试主要是为了发现错误,不包括修复;
调试必须是由开发完成,而测试则不一定.

4.软件测试的原则

1.所有的测试都应基于用户需求
2.设计测试用例的时候,要包含合理的输入条件与不合理的输入条件
3.穷举测试是不可能的
4.缺陷发现的越早,解决的代价就越小
5.测试的杀虫剂怪事
6.注意缺陷的群集现象
7.避免测试自己的程序
8.测试必须要有逾期结果
9.注意保留测试设计与说明文档,并注意其可重用性
10.测试能证明软件有错,不能证明软件中没有错

5.软件的生命周期

5.1瀑布模型

需求分析
?? ??? ??? ?设计
?? ??? ??? ??? ?编码
?? ??? ??? ??? ??? ?测试
?? ??? ??? ??? ??? ??? ?运行与维护命周期

5.2v模型

客户需求?? ??? ??? ??? ??? ??? ??? ?验收测试
?? ?需求分析?? ??? ??? ??? ??? ?系统测试
?? ??? ?概要设计?? ??? ??? ?集成测试
?? ??? ??? ?详细设计?? ?单元测试
?? ??? ??? ??? ?????程序编码

5.3w模型

开发:
用户需求-需求分析-概要设计-详细设计-编码-集成-实施-交付
?
测试:
验收测试设计-SRS评审&系统测试计划与设计-概要设计评审&集成测试计划与设计-详细设计评审&单元测试计划与设计-单元测试-集成测试-系统测试-验收测试

6.测试阶段划分

6.1单元测试UT

针对软件设计的最小单位模块所进行的测试
?
测试策略:
1.孤立的测试策略-针对每个单元模块单独进行的测试,可能需要开发驱动模块与桩模块
驱动模块:负责接收输入与输出结果
桩模块:模拟被调用的模块
2.自顶向下的测试策略:节省驱动模块的开发,需要开发桩模块
3.自底向上的测试策略:节省桩模块的开发,需要开发驱动模块

6.2集成测试IT

在单元测试的基础上,按设计要求进行组装在一起所进行的集成测试
主要关注模块与模块,接口与接口之间的数据传递关系
?
测试策略:
1.大爆炸式集成
2.自顶向下集成
3.自底向上集成

6.3系统测试ST

在集成测试的基础上,将集成好的软件系统作为整个计算机系统的一个元素,在实际使用环境下进行的一系列测试,主要目的是与需求作比较,发现与需求定义不符合或者与之矛盾的地方

6.4 UT、IT、ST的区别

测试方法的不同:
    单元测试属于白盒测试
    集成测试属于灰盒测试
    系统测试属于黑盒测试
?
考察范围不同:
    单元测试主要测试的是模块之内的数据结构、逻辑控制‘异常处理
    集成测试主要测试的是模块与模块,接口与接口之间的数据传递关系,以及模块组合后的整体功能
    系统测试主要测试的是整个系统相对于需求的符合程度
?
评估标准不同:
    单元测试的评估标准是逻辑覆盖率
    集成测试的评估标准是接口覆盖率和路径覆盖率
    系统测试的评估标准是测试用例对需求规格的覆盖率

6.5 验收测试 VT

验收测试的三种测试策略:
?
α测试 - 内测 :是由一个或多个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,α测试不能由程序员或者测试完成
?
β测试 - 公测 :是软件的多个用户在一个或多个用户的实际使用环境下进行的测试,开发通常不在测试现场,β测试不能由程序员或测试完成
?
UAT测试 - 用户验收测试

7.软件测试活动的流程(软件测试的生命周期)

1.需求评审 - 针对需求规格说明书中不明确的,有疑问的提出问题,相关产品人员进行解答:输出(软件测试需求规格说明书)
2.测试计划 - 针对整个测试活动进行规划,估计工作量,安排人力物力资源,对风险进行评估;输出《测试计划》 明确:做什么
3.测试设计 - 根据需求、计划设计测试方案/策略;输出《测试方案》 明确:怎么做
4.测试实现 - 根据计划、方案设计编写测试用例;输出《测试用例》
5.测试执行 - 执行测试用例,提交与跟踪bug;输出《缺陷报告》
6.测试总结 - 对整个测试活动进行总结,编写测试报告,将测试文档进行归档;输出《测试报告》

8.什么是冒烟测试

冒烟测试:
    是指在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性

9.软件测试类型

功能测试
性能测试
接口测试
兼容性测试
用户体验测试
安全测试

10.软件测试的方法

按测试对象分:
    白盒测试 : 又称结构化测试、逻辑驱动测试或基于代码的测试,是根据程序内部逻辑设计测试用例完成测试
    黑盒测试 : 又称功能测试、数据驱动测试或基于需求规格说明的测试;将程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和北部特征的情况下,在程序接口进行测试,他只检查程序功能是否按照需求规格说明书的规定正常使用。
    
按测试对象是否执行分:
    静态测试
    动态测试
    
按测试手段进行分:
    手工测试
    自动化测试

11.缺陷管理

11.1缺陷属性

标识:编号、id
类型:功能、性能、接口、界面···
描述:概要描述、详细描述
严重程度:致命、严重、一般、较小···
优先级:立即修复、高优先级、正常、低优先级
缺陷状态:新建、打开、拒绝、已修复、重新打开、关闭、延迟

11.2缺陷报告的基本元素

基本信息
    软件名称
    测试版本
    缺陷id
    日期
    提交人
    处理人
    操作系统
    模块
主要属性
    优先级
    严重状态
    缺陷状态
主要描述
    概要描述:缺陷标题
    详细描述:
        重现步骤
        预期结果
        实际结果
        截图、附件、备注····

12.缺陷的生命周期

测试组:
    执行用例
        通过:结束
        未通过:提交bug (打开)
开发组:
    分析缺陷
        不是:拒绝-测试找产品开发讨论
                            不是:关闭
                            是bug:重新打开
        是bug:修复缺陷-修复测试
                        通过:更改缺陷状态为(已修复)
                        未通过:继续修复
测试组:
    回归测试
        未通过:重新打开
        通过:关闭,结束

13.软件质量

13.1 质量模型

6大特性27子特性
1.功能性
    适合性、准确性、互操作性、保密安全性、功能性的依从性
2.可靠性
    成熟性、容错性、易恢复性、可靠性的依从性
3.易用性
    易理解性、易学性、易操作性、吸引性、易用性的依从性
4.效率
    时间特性、资源利用性、效率的依从性
5.可维护性
    易分析性、易改变性、稳定性、易测试性、可维护性的依从性
6.可移植性
    适应性、易安装性、共存性、易替换性、可移植性的依从性

13.2软件质量管理活动的构成

SQM = SQA +SQC
?
SQA :(预防缺陷) 事先的质量保证活动,以预防为主,通过定制相应的体系、流程、规范以降低出错的机率,通过控制系流程,检验输出来确保品质是否满足于标准
?
SQC :(发现缺陷) 事后的质量检验活动,以测试为主,期望并发现错误,以体系要求运作,通过具体实施来检验产品来确保符合规定
?

14.测试用例的定义

对一项特定的软件产品进行测试任务的描述,包含测试目标、输入数据、执行步骤、预期结果等并形成的文档;模拟用户所有可能执行的某一些操作
?
测试用例的特征:
(1)最有可能抓住错误的;
(2)不是重复的、多余的;
(3)一组相似测试用例中最有效的;
?
测试用例的代表性:
    能够代表并覆盖各种合理的和不合理的、合法的和非法的、边界的和越界的以及极限的输入数据、操作和环境设置等。
    
测试结果的可判定性:
    即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果。
    
测试结果的可再现性:
    即对同样的测试用例,系统的执行结果应当是相同的

15.测试用例的优缺点

优点:
    把软件产品需求转换为一种可操作的步骤,方便以后有步骤有计划的进行测试
    验证软件产品的需求是否合理
    监督产品对需求做出更加详细的设计
    记录软件产品的设计细节,保障以后的查阅
    与产品的沟通更加深了测试人员对软件产品的认识和印象
    反应测试进度
    帮助扩展测试范围,扩大测试覆盖面,发现软件中潜藏的缺陷
    方便回归测试,复查bug是否还会出现
    为紧急情况下的测试提供参考信息
    培训新人,提高新人测试效率,节省对新人的指导时间
缺点:
    增加了测试的维护成本
    消耗了时间成本

16.测试用例的设计方法

黑盒测试方法:
    等价类划分
    边界值分析
    错误推测法
    判定表/决策表法
    因果图法
    正交试验法
    场景设计法
白盒测试方法:
    逻辑覆盖:
        语句覆盖:每条语句至少执行一次
        判定覆盖:每个判定的每个分支至少执行一次
        条件覆盖:每个判定的每个条件应取到各种可能的值
        判定-条件覆盖:每个判定中各条件的每一种组合至少出现一次
        路径覆盖:程序中每一条可能的路径至少执行一次
    
    独立路径测试:(基本路径)
        1.画出控制流程图
        2.计算圈复杂度
        3.导出基本路径集
        4.设计测试用例
        
    

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章           查看所有文章
加:2022-02-22 20:54:14  更:2022-02-22 20:56:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 2:31:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码