软件测试目的和原则

2023-09-21 16:42:56

【软件测试面试突击班】如何逼自己一周刷完软件测试八股文教程,刷完面试就稳了,你也可以当高薪软件测试工程师(自动化测试)

一、软件测试的目的
1)软件测试是为了发现错误而执行程序的过程。

2)测试是为了证明程序有错,而不是证明程序无错。(发现错误不是唯一目的)

3)一个好的测试用例在于它发现至今未发现的错误。

4)一个成功的测试是发现了至今未发现的错误的测试。

注意:

1、测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征。可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,通过分析也能帮助我们设计出有针对性的检测方法,改善测试的有效性。

2、没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。详细而严谨的可靠性增长模型可以证明这一点。例如BevLittlewood发现一个经过测试而正常运行了n个小时的系统有继续正常运行n个小时的概率。

二、软件测试的原则
1)应当把“尽早地不断地进行软件测试“作为软件开发者的座右铭。

2)测试用例应由测试数据和与之对应的预期输出结果这两部分组成。

3)程序员应避免检查自己的程序。

4)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。

5)充分注意测试中的群集现象。

6)严格执行测试计划,排除测试的随意性。

7)应当对每一个测试结果做全面的检查。

8)妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。

三、软件测试的流程
立项阶段-需求阶段----设计阶段----编码和单元测试阶段----集成测试阶段----系统测试阶段-----验收测试阶段-----结项总结阶段

补充:

根据不同的测试阶段,测试可以分为单元测试、集成测试、系统测试和验收测试。

体现了测试由小到大、又内至外、循序渐进的测试过程和分而治之的思想。

单元测试的粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”。

集成测试界于单元测试和系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒的方式来测试,既验证“设计”,又验证“需求”。

系统测试的粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”。

验收测试与系统测试相似,主要区别是测试人员不同,验收测试由用户执行。

黑盒测试不考虑程序内部结构和逻辑结构,主要是用来测试系统的功能是否满足需求规格说明书。一般会有一个输入值,一个输入值,和期望值做比较。

白盒测试主要应用在单元测试阶段,主要是对代码级的测试,针对程序内部逻辑结构,测试手段有:语句覆盖、判定覆盖、条件覆盖、路径覆盖、条件组合覆盖

集成测试主要用来测试模块与模块之间的接口,同时还要测试一些主要业务功能。

系统测试是在经过以上各阶段测试确认之后,把系统完整地模拟客户环境来进行的测试。
 下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

软件测试面试小程序
被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

文档获取方式:

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领

更多推荐

自定义linux cp命令

基本要求:1.基本要求,实现文件的复制。编写程序实现cp命令的功能,程序源文件名为mycp.c,使用方法为:./mycp源文件名目标文件名2.扩展要求,当目标文件已存在时,给出提示是否进行覆盖,并根据用户的回应进行相应的操作。3.扩展要求,在上一步实现功能的基础上,为mycp增加选项,如果选项为-f,则当目标文件已存在

OpenAI即将推出新一代AI模型DALL-E 3;用AI进行天然产物药物发现的综述

🦉AI新闻🚀OpenAI即将推出新一代AI模型DALL-E3摘要:OpenAI正在准备推出下一代AI模型DALL-E3,并已进行了一系列Alpha测试。据分享,5月的测试版已能生成多种长宽比的图像,支持更长的提示语句,并生成“正常的文字”。然而,7月的版本可能会生成一些不适当的场景和受版权保护的商标图案。OpenA

台积电没有想到,当初拒绝的中国芯片企业,如今反过来抢夺市场了,后悔莫及...

台积电二季度的营收已经出现下滑,本来它希望四季度在以往苹果销售旺季的支持下再度推高收入,然而如今中国手机企业自研的国产5G芯片正在反过来抢占市场,台积电四季度的收入恐怕也将下降。苹果的销售旺季为每年的四季度,不过此时恰逢一家中国手机企业发布国产5G手机,采用了完全国产化的5G手机芯片,虽然都未知这款芯片的代工厂商,但可

Linux安装vivado方法

76585-Vivado2020.x-couldn'tloadfile"librdi_commontasks.so":libtinfo.so.5:cannotopensharedobjectfile:NosuchfileordirectoryUbuntu20.04userscanalsoinstallthelibtin

基于图像形态学处理和边缘提取算法的路面裂痕检测matlab仿真

目录1.算法运行效果图预览2.算法运行软件版本3.部分核心程序4.算法理论概述5.算法完整程序工程1.算法运行效果图预览2.算法运行软件版本matlab2022a3.部分核心程序[Rr,Cc]=size(Image1);%获取Image1矩阵的大小(行数和列数)%创建一个高斯滤波器G,大小为9x9,标准差为3G=fsp

如何在Ubuntu系统部署RabbitMQ服务器并公网访问【内网穿透】

文章目录前言1.安装erlang语言2.安装rabbitMQ3.内网穿透3.1安装cpolar内网穿透(支持一键自动安装脚本)3.2创建HTTP隧道4.公网远程连接5.固定公网TCP地址5.1保留一个固定的公网TCP端口地址5.2配置固定公网TCP端口地址前言RabbitMQ是一个在AMQP(高级消息队列协议)基础上完

区块链技术:解密去中心化的革命

文章目录区块链的基础概念什么是区块链?区块链的核心原理1.分布式账本2.区块3.加密技术4.共识机制区块链的工作原理区块链的交易过程区块链的安全性共识机制的作用区块链的应用领域1.金融服务2.供应链管理3.物联网4.医疗保健5.政府与公共服务区块链的未来展望1.去中心化金融2.物联网的安全性3.智能合约的广泛应用4.数

数字森林:无人机航测技术在林业调查中的应用

林业调查是林业工作的基础,对于森林资源的管理、规划、保护、经济发展和农业种植等方面都具有重要的意义。传统林业调查主要依赖人工进行,存在工作效率低、数据精度低、数据分析困难、受地形限制、无法实时监测等缺陷。随着科技的不断发展,无人机作为一种高效、灵活的工具,正在越来越多的领域得到应用。无人机航测利用无人机搭载的航摄设备,

数据通信——传输层TCP(超时时间选择)

引言TCP每一次发送报文段,就会对这个报文段设置一次计时器。如果时间到了却没有收到确认报文,那么就要重传该报文。这个之前在TCP传输的机制中提到过,这个章节就来研究一下超时时间问题。关于加权的概念有必要提及一下加权的概念,这属于数学知识,但可用帮助我们理解超时重传机制。权是在测量时不同的精准度,加权就是乘上权重/系数的

并发编程——JUC并发工具

文章目录前言CountDownLatchCountDownLatch应用CountDownLatch核心源码SemaphoreSemaphore应用Semaphore核心源码CyclicBarrierCyclicBarrier应用CyclicBarrier核心源码总结前言JUC是Java并发编程工具类库,提供了一些常用

Vue3 实现一个无缝滚动组件(支持鼠标手动滚动)

Vue3实现一个无缝滚动组件(支持鼠标手动滚动)前言在日常开发中,经常遇到需要支持列表循环滚动展示,特别是在数据化大屏开发中,无缝滚动使用频率更为频繁,在jquery时代,我们常用的无缝滚动组件为liMarquee,在vue中已经有vue-seamless-scroll组件(通过Vue2实现,不支持鼠标手动滚动),但是

热文推荐