软件工程
软件开发的过程.
软件测试
软件测试是提升软件质量的手段.测试也不能百分百发现所有质量隐患.况且软件质量并不仅仅是测试出来的.
软件测试的种类
黑盒/功能测试:手工功能测试,所有测试工程师必备的过程.
白盒/单元测试:代码测试代码
系统测试:对所有需求,功能进行全面的测试
回归测试:bug被修复之后开验证
验收测试:第三方来验收看看合不合他们的要求。
易用性测试;用户体验
安装/卸载测试
兼容性测试:与其他软件、硬件能否和平共处
性能、负载压力测试:利用性能测试工具去模拟大量的用户请求访问服务器,看看系统的表现。
自动化测试:编写代码来模拟人工操作点击界面,释放部分人力,模拟类似HTTP请求响应的过程。
安全测试:
a测试:
贝塔测试:
软件测试基本流程(循环)
主流程+分支流程(补充扩展)
熟悉产品、业务
需求宣讲
立项
确定团队和分配任务
编写测试计划
编写测试用例
贯穿评审
执行测试和缺陷Bug
回归测试
编写测试报告
软件测试模型
V模型
W模型
H模型
软件测试经验
- 测试不能太脱离需求,更对需求有深刻的理解
- 执行测试之前一定要有计划
- 测试应该从小规模开始,逐步转向大规模。也就是先某个小功能,再到一个整体的大功能
- 尽早,不断地测试,减少风险
- 后台log
- database
《软件测试经验与教训》
敏捷测试
敏捷: 灵活,快速,小步迭代
Scrum敏捷测试
Scrum可以理解为敏捷的具体实现.
Product Backlog(需求定义阶段)-大拆小
Sprint Backlog(阶段性任务划分和安排)-小步迭代实现
Sprint实施阶段-穿插每日会议
DevOps
就是更好的优化开发(DEV),测试(QA),运维(OPS)的流程, 使得开发运维一体化,通过高度自动化工具与流程来使得软件开发,测试,运维,发布更加快捷,频繁和可靠.
Devops的优点是持续的部署与交付