软件测试基础

Posted Yinhb1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试基础相关的知识,希望对你有一定的参考价值。

软件测试基础(一)

一:软件的定义

1:软件的定义:

软件测试(英语:SOFTWARE testing),描述一种用来促进鉴定软件的正确性,完整性,安全性和质量的过程。
换句话说,软件测试是一种实际输出与预期输出之间的审核或i这比较过程

2:软件的应用场景

游戏型测试,电商型测试,金融型测试,嵌入式测试等

3:软件架构分类

B/S架构软件

客户端为浏览器:百度,谷歌,火狐

C/S架构软件

客户端需安装专门软件,如qq,微信等

二、软件测试的定义与原则

1:为什么需要软件测试

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jLcuQOrq-1619610233535)(F:\\学习\\测试笔记\\images\\image-20210426093450703.png)]

2:软件测试的定义

通过人工或自动化的方式来验证软件的实际结果与用户需求是否一致

3:软件测试的原则

原则一:尽早进入软件测试
原则二:穷尽测试时不可行的
原则三:程序员应避免检查自己的程序
原则四:充分利用测试中缺陷的集群现象
原则五:严格执行测试计划,排除测试的随意性
原则六:应对每一个测试结果做全面检查
原则七:妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便
原则八:设计测试用例时,应当包括合理的输入数据和不合理的输入数据
原则九:测试用例应由测试数据和与之对应的与其输出结果这两部分组成

三、测试模型的介绍

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MBXpfScz-1619610233538)(F:\\学习\\测试笔记\\images\\image-20210426102832751.png)]

1:V模型

V模型的左边下降的是开发过程各阶段,与此相对性的是最右边上升的部分,即各测试过程的各个阶段。

V模型的优点在于它非常明确地表明了测试国策灰姑娘中存在的不同级别,并且清楚地描述了这些测试阶段和开发各阶段的对应关系。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0hq8j6IM-1619610233539)(F:\\学习\\测试笔记\\images\\image-20210426102925418.png)]

v模型的缺陷及解决思路
v模型仅仅把测试过程作为在需求分析,系统设计及编码之后的一个阶段,忽视了测试对需求分析,系统设计的眼则合格你,需求的满足情况一直到了后期的验收测试才被验证。
解决的思路是,当一个软件开发的时候,研发人员和测试人员需要同时工作,测试在软件做需求分析的同时就会有测试用力的跟踪,这样,可以尽快找出程序错误和需求偏离,从而更高效的提高程序质量,最大可能的减少成本,同时满足用户的实际软件需求。
优点:
1 每一个阶段都清晰明了,便于控制开发的每一个过程。
2 既包含单元测试又包含系统测试。
缺点:
1 测试介入的比较晚,对于前期的一些缺陷无从发现和修改。
2 测试和开发串行。

2:W模型

相对于V模型,W模型更科学。W模型是V模型的发展,强调的是测试伴随着整个软件的开发周期,而且测试的对象不仅仅是程序,需求,功能和设计同样测试。测试与开发是同步进行的,从而有利于尽早地发现问题

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AsjmRQ7q-1619610233542)(F:\\学习\\测试笔记\\images\\image-20210426103243234.png)]

优点
1 测试伴随着软件的整个声明周期,例如,在需求分析结束后就可以进行需求分析测试。
2 测试与开发是并行独立进行的。
缺点
1 对有些项目,开发过程根本没有文档产生,故W模型无法使用。
2 对于需求和设计的测试技术要求很高,实践起来很困难。

四:软件测试的流程

阶段名工作内容产出物
测试准备阶段项目立项,需求分析,需求评审需求分档,产品PRD
测试计划阶段编写测试计划,计划评审测试计划
测试设计阶段提取测试点,编写测试用例,用例评审测试用例
测试执行阶段冒烟测试,执行测试用例,提bug,回归测试测试报告
测试完成阶段验收测试,编写测试报告,项目上线缺陷报告

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4I8efNM8-1619610233545)(F:\\学习\\测试笔记\\images\\image-20210426103735066.png)]

需求分析测试计划制定测试计划执行发布与测试报告总结
1.从用户体验角度提供设计建议 2.从开发经验角度,分析设计是否存在风险,是否能够实现3.联合其他模块分析,设计是否存在漏洞,逻辑功能存在缺陷1.测试用例设计2.测试时间估计3.人员安排4.测试资源申请5.风险评价1用例执行2.Bug修复验证和推动版本进度3.性能监控,压力测试,兼容测试1.版本发布和线上质量监控,用户反馈是否存在问题
全程跟进需求变更,与产品无缝沟通,在测试阶段有需求变更要第一时间了解改动范围,如果影响版本的质量要说明风险,评估需求是否必须更改以及是否影响版本发布上线的时间线规划测试项目需要的开发和测试的比例,规划整个测试流程需要的时间,要预留处理紧急事件的缓冲执行 协调测试资源,部署测试环境,督促开发和产品提供一i企鹅需要的测试哦工具,测试数据等,推动版本进度,每日进行bug验证,标识出bug解决的优先级和提交测试的时间点,每日提供当日产品质量报告项目发布上线后积极配合现场的运维人员对项目的后期bug跟进和复现问题和开发沟通

五、软件测试的分类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b4xuZCme-1619610233545)(F:\\学习\\测试笔记\\images\\image-20210426104317229.png)]

1.按技术划分:

黑盒测试,白盒测试,灰盒测试
黑盒测试:不需要了解程序的源代码,通过使用整个软件功能来验证程序是否满足需求的测试方法
白盒测试:是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的测试方法
灰盒测试:一种基于程序运行时的外部表现同时有结合程序内部结构来设计测试数据的测试方法

试:不需要了解程序的源代码,通过使用整个软件功能来验证程序是否满足需求的测试方法
白盒测试:是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的测试方法
灰盒测试:一种基于程序运行时的外部表现同时有结合程序内部结构来设计测试数据的测试方法




以上是关于软件测试基础的主要内容,如果未能解决你的问题,请参考以下文章

JMeter工具基础知识篇-工程目录结构及命名规范

数据库基础

Java基础

接口测试基础

Linux(RadHat)基础学习—软件安装

如何让DIV固定在页面而不随着滚动条随意滚动