软件工程_东师站_课堂笔记
昨天和师弟们出去嗨了,所以没有写博客。
一、研发和产品
产品:交付最重要,手段不重要
二、科学/实验/工程
关联:足够的训练
区别:
科学:why,从现象中发现规律
实验:制造约束条件,期待特定的结果和现象。当期待的结果发生,不说明任何事;当期待的结果没有发生,说明实验设计的有问题。
工程:管理资源、时间、人力、边界、时间结点
三、实验技术
现象:外部行为
错误:是现象的原因,底层的技术
根本原因:模型的错误
四、测试
- 测试是工程本身的要求
- 如何测试:问题 模型 解决
- 通过外界行为判断模型是否等价
- 测试原理:
- 需求 模型 spec
- 具体化目标:spec 模型时要可量化
- 只测试边界
- 反对的测试方式
- build and run。解决方案:在每次执行前对效果有个期待。
- 最后再测试,bug随着时间的失衡对系统的影响会越来越大。
- 单元
- 高内聚
- 构造环境
- TDD
- assert
- 单元划分
- 模块化
- 耦合关联
- 原则:Right_BICEP
- B Boundary 边界
- I Inverse 反向
- C Cross 交叉
- E Error 异常
- P Performance 效能
- 自动化
- 覆盖率:控制流、数据流
- 方法:
- 回归
- 冒烟
- bug Bash
- 区分
- 效能测试:在通常压力下系统的表现
- 负载测试:有压力时(压力是由人来确定指标),系统的表现。
- 压力测试:高负载保持相当长的时间。
- 测试矩阵
五、作业:
- 以往checklis的内容
- 不同 语言/类型 单元测试工具
- 内聚 耦合有几种,参见《软件工程实践者之路》
- 测试自动化工具
- 给当前所做的项目做测试矩阵
- 剧透Beta发布