测试分为:
- 测试理论
- 功能测试
- 接口测试
- 性能测试
- 自动化测试
理论:常识(开发,测试,IT)
数据库(myspl) : spl语句
linux:
shell脚本
一、软件开发理论
1、软件的定义:
是一系列现在特定顺序组件的计算机数据和指令的集合
2、软件开发的模式
瀑布模型: (流程图如下......)
定义:将软件生命周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品的项目。
优点:
1、为项目提供了按阶段划分的检查点
2、当前一阶段完成后,只需要去关注后续阶段。
缺点:
1、瀑布模型的突出缺点就是不适应用户需求的变化。
2、游泳开发模式是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险
3、每个阶段的划分都是固定的,阶段之间会产生大量的文档,增加了工作量
快速原型模型:
定义:快速原型模型的第一步是建造一个快速原型,实现客户或未来用户与系统的交互。
快速原型的关键在于第一时间建造出软件的原型,一旦确定了客户的真正需求
螺旋模型: (流程图如下......)
定义:它是将瀑布模型和快速原型模型结合起来
迭代模型:
定义:迭代模型是一种与传统的瀑布式开发相反的软件开发过程,它弥补了传统开发模式的一些缺点。
优点:
1、降低了在一个增量上的开支风险
2、降低了产品无法按照进度进入市场的风险
3、加快了整个开发工作的进度
增量模型:模块增加
敏捷开发模式:敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。
敏捷开发的四个核心思想:
1、强调面对面沟通
2、团队合作和团队激励
3、超强的适应能力,和抗压能力
4、敏捷软件开发要注意项目规模大小,因此敏捷软件开发暂时不适合大公司团队开发,先对来说适合一个组的团队使用。
3、软件质量(6个大的特性)
软件质量 | |
---|---|
功能性 | 1、适应性 2、准确性 3、互操作性 4、安全性 5、功能合规性 |
可靠性 | 1、成熟性 2、容错性 3、易恢复性 4、可靠合规性 |
可适应性 | 1、易理解性 2、易学习性 3、易操作性 4、易户黏性 5、易用合规性 |
效率 | 1、时间特性 2、资源利用率 3、效率合规性 |
可维护性 | 1、易分享性 2、稳定性 3、易变更性 5、可维护合规性 |
可移植性 | 1、适应性 2、易安装性 3、共存性 4、可移植合规性 |
4、影响软件质量的因素
- 需求模糊
- 软件开发人员问题
- 缺乏软件质量控制管理
5、软件的分类
根据应用场景分类:
- 工具类软件
- 游戏类软件
- 媒体类软件
- 电商型软件等
根据软件架构分类:
1、单机版软件 :
(1)office
(2)红警等......
2、分布式软件 :
(1)C/S架构软件 client(客户端),server(服务端)
客户端需要安装专门软件,如qq、微信等等...
(2)B/S架构软件 boowser(浏览器) ,, server(服务端)
客户端为浏览器,如百度、hao123等等...
6、软件开发生态系统
1、前端 === 自行理解
2、后端 === 自行理解
二、软件开发背景
1、公司的组件架构
自己理解
2、软件开发流程
(1)项目启动
产品总监/产品经理 调研 ==》 《需求文档》
项目经理 ==》 梳理业务
(2)需求阶段
产品经理==》产品原型,需求文档,评审
(3)设计阶段
UI设计师 ==》 效果图
测试工程师 ==》 测试用例 (Test case)
(4)开发阶段
前端 ==》 写代码,技术文档
(5)测试阶段
测试工程师 ==》 冒烟测试,执行用例,提交bug
开发工程师 ==》 修改bug
测试工程师 ==》 回归测试,二次检查