软件系统测试流程规范
一阶段:
一周:系统测试的流程规范
二周:数据库基础
三周:Linux操作系统
四周:项目实战
五周:APP专项测试
段位:初级测试工程师、初中级测试工程师的能力
二阶段:
一周:Python基础
二周:Python高阶
三周:接口测试(基于Python自动化实施方案)
四周:UI测试(基于Python自动化实施方案)
段位:中级工程师
三阶段:
一周:性能测试流程规范
二周:性能测试高阶
三周:性能测试项目实战
四周:自动化测试框架设计实现
段位:中高级、高级
四阶段:
一周:微服务架构基础
二周:微服务项目系统测试和接口测试
三周:微服务项目UI自动化测试和性能测试
四周:协同周、和研发团队做一个实际互动的项目
二、软件测试相关概念
1. 软件测试
1. 软件
1. 软件的历史、定义、概念
· 计算机:1929年诞生
(电子计算机、电子管计算机,第一代。1956:第二代为晶体管计算机。
第三代为小规模集成电路。第四代为大规模集成电路。计算机代表硬件:躯壳。计算机软件:灵魂)
· 软件的发展
第一代:纸带上打孔,用于科学计算,批处理。
第二代:编程:汇编语言(低级语言)
第三代:面向过程的程序,C语言,cobol,Fortran(高级语言)
第四代:面向对象的程序,C++,java,ruby,Python
第五代:大数据、人工智能
· 软件的定义
IEEE(国际电气化工程协会)支撑计算机程序运行的代码、文档、数据统称为软件。通常称为:计算机程序。
· 软件工程学
目标:解决软件研发过程中出现的问题
软件危机:预算经常超支、交付延迟、软件质量差、维护困难、
软件的可移植性差,两个类似的软件很少能够重用
软件工程七原则:
2. 软件的作用
1. 软件的生命周期
1. 软件定义:指的是要开发一款什么样的软件:领域、范围
1. 可行性研究:从技术、经济、操作性方面区研究
2. 需求分析
任务:确定待开发软件的功能需求、性能需求和运行环境约束,编制软件需求规格说明、
软件系统的确认测试准则和用户手册概要【重点】
软件需求规格说明(SRS:software requestment specification)是开发工程师的一句,同样也是测试的依据
2. 软件设计与实现
1. 概要设计:技术选型、框架搭建:dev
2. 详细设计:定义函数、接口
3. 实现:编码、调试
4. 集成测试:单元测试、接口测试
5. 确认测试:系统测试、性能测试
3. 软件的使用、退役
1. 发布上线、运营
2. 退役
2. 测试
1. 测试的历史、定义、概念
1. 测试的历史发展
1. 1951年的时候,才把测试从开发工作中独立出来。
2. 测试的发展阶段
1. 测试等同于调试,在1951年之前,一个登录功能:用户名、密码正确、提示登陆成功。
2. 测试主要用于确认软件产品是按照需求要求来实现的。关键词:确认
3. 测试除了要确认之外,还必须使用破坏性的用例,来验证软件产品没有做不允许做的。关键词:验证
4. 测试是为了预防可能出现的错误。关键词:预防。
3. 定义:为了发现软件中存在的错误或问题而运行软件的过程。
1. 目的:发现问题。找bug,尽可能的找出bug
2. 手段:运行程序,运行软件
3. 本质:过程-->完成某一个事务所必须的步骤统称。
4. 概念【重点】
1. 测试用例:一次实际的测试数据和操作组成的集合。比如:测试登录功能
2. bug:缺陷的别名
3. 缺陷:软件产品中存在的不符合需求的功能、实现或者错误的描述或实现
4. 缺陷包含:错误、故障、失效,因为错误,所以可能导致故障,故障导致功能失效。
5. 测试工程师的角色扮演:
1. 用户
1. 第一种:正常用户,是需要通过对软件进行操作来达成自己某些业务目的的人
2. 第二种:粗心的用户:在使用过程中会制造一些小麻烦的人。比如:错误输入,不按照要求操作,心急的用户
3. 第三种:破坏者:使用软件的目的是为了破坏软件的运行、窃取数据等等。黑客。
2. 工程师:在某个领域里面掌握了相关业务的流程规范、方法论、技术体系、工具体系的专业人士
1. 计划
2. 流程规范,规范等同于标准
3. 方法论、技术
4. 工具体系
2. 测试需要流程规范
3. 测试的方法论、技术
4. 测试的工具体系
软件开发模型
一、导入
测试工作是从研发中分出来的,所以测试工作是研发过程中的一部分,要做好测试工作,必须深刻理解研发过程和模型
研发工程师相当于挖战壕,测试工程师相当于测试战壕
二、研发模型
1. 早期模型
· 大爆炸:随便做,计算机工程师
· 边做边改
2. 中期模型
· 瀑布模型:1970年
定义:把软件研发的过程按照需求分析、设计、实现、测试、发布的顺序来进行规划的一种研发方法论。
优点和缺点
1. 至少有一个可用的框架
2. 对于规模小的项目非常适用,手到擒来
3. 节约成本,保障项目交付成功率,从原来不足50%,一下提高了80%
4. 交付质量提高好几倍
缺点:
1. 不适用于大中型项目
2. 需求变化频繁项目不适合
3. 过程中间缺少反馈,早期的问题要到很晚才能发现,导致维护成本加大
4. 交付效率低
· 增量迭代模型(迭代增量式开发或迭代进化式开发)
每次只设计和实现这个产品的一部分
逐步完成的方法叫迭代开发
每次设计和实现一个阶段叫做一个迭代
过程:
需求分析
迭代计划:把需求进行拆分,选最主要的部分先开发,拆成多个迭代
设计
实现
测试
优点:
可以把大项目拆分成多个小的项目来完成
不惧需求变化,因为迭代周期较短,变化的需求可以在下一个迭代周期里面解决
在研发过程中可以进行有效反馈,通过反馈才能进行效果评估
交付效率也得提高
缺点:
划分迭代数量没有标准,根据产品经理的能力决定(可以通过同行评审来克服这个问题)
迭代次数越多,管理维护成本越高,问题也越多
· 螺旋模型:将瀑布模型和快速原型模型结合起来,特别适合大型复杂的系统
· 敏捷模型(敏捷实践):以用户的需求进化为核心,采用迭代、循环渐进的方法进行软件开发,
是一种应对快速变化的需求的一种软件开发能力。
个体与交互胜过过程和工具、可用的软件胜过完备的文档、客户协作胜过合同谈判、响应变化胜过遵循计划
价值观:以人为本、目标导向、客户为先、拥抱变化
敏捷时间价值观对测试的指导意义:
以人为本:我们要充分和产品经理、研发工程师进行面对面的沟通和交流,及时
目标导向:测试过程中有限软件的功能验证和确认,可用性
客户为先:要及时听取客户的意见,有机会和客户进行充分交流,理解客户的需求
拥抱变化:测试工程师要深刻理解业务,理解被测对象,终身学习
敏捷实践分类:
极限编程:螺旋式开发方式,四大价值观:沟通、简单、反馈、勇气(对于一般的团队来说做不了)
scrum:冲刺,有若干个迭代周期组成,一个短的迭代周期称为一个sprint,重要特性:迭代开发,
增量交付,适用于外包,自组织团队,高优先级的需求驱动,交付就是软件发布给用户使用,
自组织团队:团队中的每个成员自发的去工作和改进自己的工作,高优先级的需求驱动就是所有需求都必须标注优先级,标注方式是使用数字,
从1开始不重复的标注,每次sprint,按照优先级从高到低选取一部分(2-4周的量)
软件测试模型
一、V模型:左右两边对照,基于瀑布模型来做的,从左到右描述了基本的开发行为
1. 定义
2. 作用
3. 优点
明确的标明了测试和开发各个阶段的对应关系和等级
4. 缺点
如果在需求阶段、概要设计阶段、详细设计阶段出现错误,那么必须在测试过程中才能发现。修复成本会成倍上升
原因:测试是在编码之后开始的
二、W模型
优点:
开发伴随着整个开发周期,需求和设计同样要测试
更早介入测试,可以发现初期的缺陷,修复成本低
分阶段工作,方便项目整体管理
缺点:
开发和测试依然是线性的关系,需求的变更和调整,依然不方便
如果没有文档,根本无法执行w模型,对于项目组成员的技术要求更高
左侧:
静态测试:精读文档,同行评审
右侧:
动态测试:运行程序,执行测试用例
测试执行的四个阶段:单元测试、集成测试、系统测试、验收测试
重要的概念:
单元定义:C中是一个函数,Java中指一个类,在图形化的软件中,单元一般指1个窗口,1个菜单。
单元测试:模块测试,针对软件设计中的最小单元进行正确性检查的测试工作。需要从程序的内部结构出发设计测试用例。
集成测试:又称组装测试,通常在单元测试的基础上,将所有程序模块进行有序的、递增的测试。
系统测试:将整个软件系统看成一个整体来进行测试,包括对功能、性能、以及软件所运行的软硬件环境进行测试。
Alpha测试:内测,公司内部员工进行测试,主要看有没有功能缺失或系统错误,Alpha测试完后一般不会有大问题了。
Beta测试:公测,主要看用户对软件外观、使用方便等反应。选一部分用户参与测试。
三、H模型:软件测试过程完全独立,开发做开发的工作,测试做测试的工作。
优点:
软件测试完全独立,贯穿整个生命周期,且与其他流程并发进行。
软件测试活动可以尽早准备、尽早执行,具有很强的灵活性。
软件测试可以根据被测物的不同而分层次、分阶段、分次序的执行,同时也是可以被迭代的。
缺点:
管理型要求高、技能要求高、测试就绪点分析困难,对整个项目组的人员要求非常高
四、X模型
分片执行
质量模型
1. 为什么要讲质量模型?
如何衡量一个商品的质量?大家评估的标准都是有差异的,每个人侧重点不一样。
ISO:国际标准化组织,经常邀请各国的、各领域的专家针对某些领域指定工业级标准。
ISO9126和ISO25010都提到了软件产品的质量模型:这个模型是世界范围都认可的模型。
2. 质量是什么?
· 质量:产品质量是值在特定的使用条件下产品满足明示的和隐含的需求所明确具备能力的全部固有特性(内在特性),
体现了产品满足产品要求的程度(外部表现),是产品的质量属性。
· 特性或能力:内部质量,需要满足特点使用条件的各种需求。
· 外部质量:内部特性的一种呈现,内部特性决定了外部质量。
· 质量就是产品所具有的内部特性或能力。
3. 质量模型有什么用?
· 质量模型定义了软件产品必须具备的相关的内部特性以及每个类型所必须具备的属性
· 要评估一款软件产品的质量是否符合需求,就可以依据质量模型来进行
4. 质量模型怎么指导测试工作?
一、ISO25010质量模型
软件系统测试流程规范相关推荐
- 2.系统测试流程规范
系统测试流程规范 一.学习任务 软件相关的核心概念 系统测试流程规范 项目管理软件的使用 用例设计方法 缺陷管理 二.软件相关的核心概念 软件:程序运行所需的代码.数据.文档的集合 软件测试:(IEE ...
- 软件性能测试有哪些功能点,软件性能测试流程规范说明
软件性能测试流程规范说明 发表于:2011-01-14来源:作者:点击数: 标签:软件 软件性能测试流程规范说明 文档控制 Date Version Description Author 2006-4 ...
- 一文看懂软件测试方法和规范
软件测试方法是指测试软件的方法.随着软件测试技术的不断发展,测试方法也越来越多样化,针对性更强:选择合适的软件测试方法可以让我们事半功倍.本文主要介绍的是软件测试方法和规范,跟随小编一起来了解一下具体 ...
- 软件测试工作流程规范
对于软件测试工作流程,以及过程中的应遵循的流程规范,对软件测试初入者来说可能一知半解,今天笔者就将曾用过的一份软件测试工作流程标准整理分享给大家,希望能让你对测试流程有个清晰的认知.如果你采纳,那也注 ...
- (一)软件开发流程与图
目录 软件开发流程 软件工程与图 业务架构设计 软件开发流程 业务调研:产品经理搞明白需求是什么 需求分析:去分析产品经理给的需求文档,梳理出系统要干嘛 概要设计:作为架构师,我们自己去设计全局性的技 ...
- 软件开发流程--学习笔记
软件开发流程--学习笔记 背景 产生原因及作用 个人理解 软件开发流程 需求 需求调研 需求分析 需求确认 设计 概要设计 详细设计 编码 测试 交付 维护 知识拓展 软件开发生命周期(SDLC) 软 ...
- 软件开发流程包含哪些内容
2019独角兽企业重金招聘Python工程师标准>>> 能否开发出一个好的软件,关键是看软件开发前期所做的工作,重点是这个软件有没有一个好的 软件开发流程,因为一个好的软件开发流程关 ...
- 第十五届全国大学生智能汽车竞赛线上比赛流程规范
第十五届全国大学生智能汽车竞赛 线上比赛流程规范 作者:卓晴博士,清华大学自动化系 更新时间:2020-08-03 Monday ■ 简述 第十五届 全国大学生智能汽车竞赛 由于受到 新冠病毒(C ...
- 软件开发模型_QT开发(二十三)——软件开发流程
一.软件开发流程简介 软件开发流程是通过一系列步骤保证软件产品的顺利完成,是软件产品在生命周期内的管理学. 软件开发流程的本质是软件开发流程与具体技术无关,是开发团队必须遵守开的规则. 二.常见软件开 ...
- 宏基因组大数据分析的质量控制流程规范
宏基因组大数据分析的质量控制流程规范 郑广勇1,杨桢1,曹瑞芳1,刘婉2,李亦学1,2,张国庆1,2 1. 中国科学院上海生命科学研究院生物医学大数据中心,上海 200031 2. 上海生物信息技术研 ...
最新文章
- flex与java实现增删改查
- .NET 2.0 中使用Active Directory 应用程序模式 (ADAM)
- Codeforces Round #315 (Div. 2)
- ssms安装_SQLServer 2019下载及安装教程
- Autocompletetextview width fill parent问题
- html设置input透明背景,input背景透明的穿透问题_html/css_WEB-ITnose
- [转]overflow解决float浮动后高度自适应问题
- 密西根州立大学计算机qs分数,密歇根州立大学2021年QS世界大学排名第157
- 通过IP获取地理位置的开放接口汇总
- virtualization technology设置
- 友情链接怎么做才能提高网站权重
- Flash按钮操作(画面暂停与播放)
- A micro Lie theory for state estimation in robotics005:The tangent spaces and the Lie algebra
- 洛谷P4147 玉蟾宫(单调栈解决)
- 四年开发,待业半年本想放弃Java,抱着试试的心态面试某C轮金融科技公司居然过了!
- 5G千兆智能网关的车联网应用
- [移动] Mosquitto简要教程(安装/使用/测试)
- 全栈工程师学习路线(自用)
- [足式机器人]Part1 运动对称性Ch05——【Legged Robots that Balance 读书笔记】
- SLM328美格4G模组SDK开发笔记
热门文章
- cad找形心插件 lisp_晓东CAD家园-论坛-A/VLISP-[LISP程序]:求形心-谁有求形心的LISP.帮帮忙。时在是太累啦。 - Powered by Discuz!...
- Markdown工具之Typora--画思维导图
- 用74ls90组成二十四进制计数器_六十进制应该怎么怎么设计呢?
- Endnote x7.5 破解 注册 激活
- 2022年11月份,NPDP产品经理认证即将改版,到底改哪些内容?
- matlab控制读取数小数位,matlab输出的数值型矩阵中如何控制小数位数,以及对齐方式?...
- 微信小程序富文本编辑器
- 初探PLC 的ST 语言转换成C++ 的方法
- 版式设计——网页排版
- 摄像头防水性能测试软件,手机摄像头防水测试/气密性检测方法分享