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