当前位置:网站首页>全网最全的软件测试基础知识整理(新手入门必学)
全网最全的软件测试基础知识整理(新手入门必学)
2022-07-27 00:21:00 【软件测试老莫】
目录
1、什么是软件
定义:计算机系统中与硬件相互依存的一部分(程序+数据+相关文档)
程序:按事先设计的功能和性能要求执行的指令序列
数据:使程序能正常操纵信息的数据结构
文档:与程序开发、维护和使用有关的图文资料
2、软件工程的内容
主要分为软件开发技术(方法+过程+工具+环境)和软件开发管理
3、软件的生命周期
可行性研究和计划(立项)
需求分析
概要设计(测试计划)
详细设计(测试方案)
实现(开发阶段;包含单元测试)
组装测试(集成测试)
确认测试(系统测试,验收回归测试)
使用和维护(上线使用及日常更新维护)
4、什么是软件测试
定义:软件质量保证的一种手段
目的:发现错误以及避免这些错误的发生,使产品达到完美
概念:是软件工程中的一个非常重要的环节,是开发项目整体的一部分。是有计划有组
织的,是伴随软件工程的诞生而诞生的,软件测试不是万能的,不可能发现全部缺陷,
软件测试是有局限性的。
5、软件测试的方法
①、用试题检查法
②、用新旧两个系统做平行处理检查
③、软件测试自动化工具测试
6、软件测试阶段有哪些任务
①、制定测试大纲(测试计划)
②、制作测试数据(测试方案)
③、单元测试(程序测试,一般由开发人员进行)
④、功能测试
⑤性能测试(这两个阶段重合性较大,可以归为一类)
⑥、集成测试(子系统测试)
⑦、系统测试
⑧、验收测试
⑨、测试报告及向下阶段提交系统运行、维护用户手册
7、测试的原则
①、尽早的、不断地进行测试
②、测试用例由输入数据和与之对应的输出结果组成,应包括合理和不合理的输入条件
③、开发者应尽量避免检查自己的程序
④、设计测试用例时,应包括合理和不合理的输入条件
⑤、充分注意测试中的集群现象,严格执行测试计划,排除测试的随意性
⑥、对每一个测试结果做全面检查
⑦、妥善保存测试计划,方案,用例,BUG记录及最终分析报告等文档
8、软件测试工作流程图
立项阶段
需求阶段
设计阶段
编码&单元测试阶段
集成测试阶段
系统测试阶段
验收测试阶段
结项总结阶段
9、自动化测试
概念:为了提高工作效率,节省人力和成本,把人为驱动的测试转化为机器执行
10、自动化测试的过程
需求分析
测试计划
框架搭建(附带工具选择)
测试用例设计(编写测试用例或开发测试脚本,并文档化)
测试——调试测试(针对自动化测试脚本)
评估(评估测试结果并改进测试过程)
11、自动化测试的优点
①、能执行更多更频繁的测试, 使某些测试任务执行方式更高效
②、能执行一些手动测试困难或者不能做的测试
③、任务自动化,使测试人员投入更多精力设计测试用例,提高测试准确性和
人员积极性
④、具有一致和可重复性特点,更客观,提高软件信任度,仍存在一定局限
⑤、不能取代手工测试,不能自动化所有的测试(如只是偶尔执行测试,或需求
经常变动,不稳定,或者需要大量手工参与时)
⑥、自动化测试工具只能执行命令,而手工可以在测试中判断测试的输入是否
正确,以及改进测试,还可处理意外事件
⑦、对质量依赖较大,在确保质量的前提下,实施自动化才有意义
⑧、自动化测试需要在整个测试系统成熟稳定后,工作效率才会随着测试执行
次数的增加而提高
⑨、自动化测试的成本可能高于手工测试
12、自动化测试技术
录制/回放(依赖工具)
脚本技术
数据驱动(data driven)的自动化测试
关键字驱动(keyword driven)的自动化测试
业务驱动
13、自动化测试的级别
①、捕获和回放
②、捕获、编程和回放
③、编程和回放
④、数据驱动的测试
⑤、使用动作词的测试自动化
14、自动化测试方案选择需要考虑的方面
①、项目的影响(能否帮助项目进度、覆盖率、风险)
②、复杂度(是否容易实现,包括数据和其他环境等)
③、时间(实现自动化需要多少时间)
④、早期需求和代码的稳定性(需求或代码能否证明是在范围内变化的)
⑤、维护工作量(代码能否能长期保持相对稳定)
⑥、覆盖率(自动化测试能否覆盖程序的关键特性和功能)
⑦、资源(是否拥有足够的人力、硬件和数据资源来运行自动化测试)
⑧、执行(负责执行的人员是否有足够的技能和时间去运行)
⑨、自动化测试管理
15、自动化测试的重点
①、搭建测试环境,测试场景
②、测试用例
③、测试结果的验证
④、自动化测试的流程以及执行
16、自动化测试需要解决的问题
①、工具的选择
②、测试用例脚本编写
③、测试脚本的管理
边栏推荐
- 万字长文,带你搞懂 Kubernetes 网络模型
- Sort icons with swiper
- CS224W fall 课程 ---- 1.1 why Graphs ?
- Web3.0世界知识体系分享-什么是Web3.0
- LeetCode刷题——NO.238——除自身以外数组的乘积
- com.fasterxml.jackson.databind.exc.InvalidDefinitionException
- idea中常用的快捷键
- Is the low commission account opening of Galaxy Securities Fund reliable, reliable and safe
- Database knowledge required by testers: MySQL common syntax
- Leetcode- > binary search clock in
猜你喜欢

Static keyword

iNFTnews | “流量+体验”白衬e数字时装节引领数字时装新变迁

数据资产管理的概念

Cloud development sleeping alarm clock wechat applet source code

解决小程序报错getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json

阿里云解决方案架构师张平:云原生数字化安全生产的体系建设

对象创建的流程分析

MySQL master-slave database configuration based on docker for Ubuntu

pyqt5使用pyqtgraph画动态散点图

If you want to thoroughly optimize the performance, you must first understand the underlying logic~
随机推荐
Pyqt5 use pyqtgraph to draw dynamic scatter chart
White box test case design (my grandfather can understand it)
pyqt5使用pyqtgraph画动态散点图
Database read-write separation and database and table segmentation
机器学习【Matplotlib】
想要彻底搞的性能优化,得先从底层逻辑开始了解~
setTimeout第一个参数应该注意的地方
次轮Okaleido Tiger即将登录Binance NFT,引发社区热议
Arduino UNO +74HC164流水灯示例
C语言程序的编译上
Goatgui invites you to attend a machine learning seminar
Debezium系列之:基于debezium offset拉取历史数据,确保数据没有丢失
Scheduling of processes
Debezium series: the binlog file cannot be recovered after the record is hung from the library server, and the task is switched to the main library to ensure that the data is not lost
Okaleido tiger is about to log in to binance NFT in the second round, which has aroused heated discussion in the community
面试突击68:为什么 TCP 需要 3 次握手?
Shell 分析日志文件命令全面总结
哈希表与一致性哈希的原理理解以及应用
Okaleido tiger logged into binance NFT on July 27, and has achieved good results in the first round
F8 catch traffic, F9 catch rabbits, f10turttle