项目的生命周期和测试
软件开发模型
- 瀑布模型(如下图)
特点:1)是线性模型的一种,每一个阶段只执行一次
2)文档驱动
优点:开发的各个阶段比较清晰,当前阶段完成之后,只需关注后续阶段
缺点:1)不响应需求的变化
2)风险往往延至后期才显露,失去及早纠正的机会
- 快速原型模型:在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作
特点:1)快速的构建软件的原型
2)支持用户参与
优点:克服瀑布模型的缺点,减少由于软件需求不明确带来的项目风险开发。
缺点:不适合大型系统的开发(适合开发小型的、灵活性高的系统)。
生命周期:
- 螺旋模型(了解)
特点:引进了风险分析活动。
优点:螺旋模型很大程度上是一种风险驱动的方法体系。
缺点:采用螺旋模型需要具有相当丰富的风险评估经验和专门知识。
软件测试模型
- V模型(重点重点重点)*******
V模型介绍:1)V模型是最具有代表意义的测试模型,最早是由Paul Rook在20世纪80年代后 期提出,由英国国家计算机中心文献中发布,旨在改进软件开发的效率和效果。
2)V模型本身软件开发中瀑布模型的变种,它反映了测试活动与分析设计的关系
3)V模型标明了测试过程中本身存在的不同阶段,从左到右,描述了开发过程和 测试过程间的阶段对应关系。
优点:测试V模型即包含了底层测试又包含了高层测试。
缺点:当需求变更时将会导致返工量非常大,模型灵活性比较低。
V模型示意图:
- W(双V)模型(重点)
W模型介绍:测试伴随着整个软件开发周期,并且测试的对象不仅仅是程序,需求和设计同样要测试。
优点:1)强调测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,还包括需求和设计。
2)更早的介入测试,能尽早的发现缺陷进行修复。
缺点:对于测试技术要求高,实践起来困难。
W模型示意图如下:
不同阶段软件缺陷修复费用如下图:
软件质量模型
- 软件质量,就是软件与明确地和隐含地定义的需求相一致的程度。
- ISO 9126软件质量模型是评价软件质量的国际标准,这个模型是软件质量标准的核心,对于大 部分的软件,都可以考虑从这6个特征27个子特性去测试、评价一个软件。
测试计划
1.软件测试计划简介
- 测试计划概念
定义:制定测试目的、范围、方法、时间进度及软件测试重点的过程。
- 编写人员和使用人员
测试计划一般由测试组长或者项目经理来负责撰写。测试人员按照计划里的内容来安排和调整自己的测试工作。
写:测试组长和项目经理
用:测试人员
你:也有可能...
2.软件测试计划内容
- 项目概述
背景
目的
对象
术语
- 测试说明
测试对象范围
测试环境
测试资源
测试策略
任务分配
文档管理
- 风险控制
系统风险
影响计划的潜在因素
应急措施
测试局限性
- 测试质量评估标准
模块测试通过标准
验收测试通过标准
- 任务里程碑记录
- 附录以及其他
测试用例
- 什么是测试用例:
为某个业务目标,而编制的一组由测试输入、执行条件以及预期结果组成的案例。
- 为什么要使用测试用例
- 在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。
- 测试用例的使用令软件测试的实施重点突出、目的明确。
- 在软件版本更新后只需修正少部分的测试用例便可开展测试工作,降低工作强度、缩短项目周期。
- 检验软件是否满足客户需求、体现一个测试人员的工作量、展现测试用例的设计思路。
- 测试用例的内容(重点重点重点,面试会问)*********
主要内容
- 用例编号(如何命名)
- 所属模块
- 用例标题(验证谁在什么情况下,去做什么,最后结果是什么)
- 优先级
- 前置条件
- 操作步骤
- 测试数据
辅助内容
- 通过否
- bugID
- 编写人员
- 编写时间
- 测试人员
- 测试时间
- 备注
缺陷
1.什么是缺陷
软件缺陷就是通常说的Bug,它是指在软件中(包括文档和程序)存在的影响软件正常运行的问题。
2.缺陷产生的原因
- 需求不明确和变更(沟通不充分产生)
- 软件结构复杂(架构不合理,认知不到位)
- 编码问题(程序员都是培训的,太菜了)
- 项目期限短(时间问题,越快越忙越出错)
- 使用新技术(不是最新的才是最好的,大脚都知道老人活好)
3.缺陷分类
- 测试种类分类
界面类
功能类
性能类
安全类
兼容类
- 缺陷的严重程度
严重
一般
次要
轻微
- 缺陷的优先等级
立刻解决
高级优先
正常排队
低优先级
- 缺陷发生阶段分类
需求阶段缺陷
架构阶段缺陷
设计阶段缺陷
编码阶段缺陷
测试阶段缺陷
缺陷报告
1.什么是缺陷报告
描述软件缺陷现象和重现步骤的合集
2.缺陷报告的核心要素
- 缺陷编号
- 缺陷状态
- 缺陷标题
- 重现步骤(复现步骤)
- 严重程度
- 优先级
- 缺陷类型
- 测试环境
缺陷管理
1.提交缺陷的注意事项
- 可复现:缺陷可以复现
- 唯一性:一条缺陷只报告一个问题
- 规范性:缺陷报告编写要规范,符合公司或者项目要求
准确:描述的信息正确的
具体:有细节且是真实特定的,避免使用模糊不清的词语,如功能中断,功能不正确,功能不起作用等等。
简洁易懂:描述简单容易理解,不要产生歧义。
2.缺陷的跟踪流程
Python自动化介绍
python的发展方向
- 人工智能
- 科学计算+数据处理+爬虫
- python自动化:自动化运算,自动化测试
- web开发
什么是python自动化
python自动化就是使用python语言来编写脚本或者平台(自动化运维平台,自动化测试平台—>devops),实现公司中重复业务的自动化流程。大体的方向为
- python自动化测试
- python自动化运维
为什么自动化选择了python
- python强大的第三方库,为很多的自动化流程提供了快捷的实现方式
- python强大的兼容性获得了开发者的青睐
- python简洁的语法和简便的编码是的快速开发和迭代成为可能
- python的科学计算和文本处理能力,解脱公司的繁琐重复的劳动力
python自动化的市场行情
boss里的招聘薪资