软件测试
系统测试
重点:A、人工或者自动的手段
B、过程
C、满足规定的要求
D、弄清预期结果和实际结果之间的差别
必备的内功:
软件的生命周期—从生到死 ; 常见测试模型——窥一斑而之全貌 ; 软件质量模型
软件测试分类;项目相关文档
MCP:Minimal concept Principle 最小概念原则;
一、软件的生命周期:
计划阶段:
确定开发目标
完成项目的可行性研究
对项目的进度进行预估和安排
制定实施的计划
需求分析阶段:
分析整理项目的需求项觉得那些具体的开发
根据整理的需求项,编制需求规格说明书SRS:software Requirement Specification
制作产品原型
设计:
完成项目概要设计
项目详细设计
编码
概要设计说明书以及详细设计说明书编写代码
测试
单元测试:对程序的最小单元进行测试的过程
集成测试:对模块与模块之间调用的接口进行测试
系统测试:对完成编译的系统整体进行测试
验收测试:交付给客户或最终的用户,客户一起完成测试;
运维
产品部署
运行维护
功能升级
性能提升
常见测试模型:
模型:将比较抽象的事物用比较形象的方式表现;
传统瀑布模型:问题:测试后置,导致项目开发完成后发现问题,修改成本比较大;
V模型:对瀑布型进行的测试进行了细致的划分,测试后置,没有解决风险问题
W模型:加入了文档,需求等设计,更加的仔细;测试和开发过程进行了分离;
敏捷模型:适应现代互联网公司短频块的特点
迭代:每次迭代叫做一个sprint里面选出来要实现的需求会安排到sprint backlog里面;每个sprint一般是以一个月作为一个周期。
product Owner:相当于产品经理整理出产品的整个需求,按照需求优先级排列到product backlog
daily meeting:每日议会,一般是站会形式。每个人发言不会超过一分钟,主要内容包括:你做了什么,准备做什么,有什么风险和问题
sprint burndown:迭代燃尽图,记录剩余的工作量;
sprint review meeting:迭代回顾会议。回顾本轮迭代中存在的问题以及如何改进;
Scrum Master:相当于组长,team manger ,进行统一管理组员
一个软件或者硬件该怎么测:
主要从8个质量标准进行思考;功能性,可靠性,易用性,功能效率,兼容性,安全性,维护性,可移植性
代码是否可见:
黑盒测试:在不知道被测软件代码结构的基础上,根据产品需求规格来对软件的输入输出进行测试
白盒测试:基于被测软件的代码和结构,对被测软件的代码和结构本身进行测试;
灰盒测试:介于白盒与黑盒测试之间,灰盒是针对接口进行测试;只知道函数的函数名,参数以及返回值,不知道函数内部的实现结构;
测试目的不同
GUI测试:界面测试 接口测试 性能测试
其他测试类型
回归测试 、冒烟测试、探索性测试
测试阶段的主要文档:测试计划和方案、测试用例、缺陷报告、测试报告
测试内容
测试流程
分析
设计
计划
实现