一、软件测试定义
通俗一点说就是一个找bug的过程,确定软件有没有多做,有没有少做。
(个人:测试就是,拿到产品前,对产品会有一个预期的结果,拿到产品后,查看实际结果与预期结果是否会有不同。)
二、软件测试的目的
1.找bug
2.评估软件质量
3.预防出现同样或类似的bug
三、软件生命周期
四、软件研发核心铁三角(三要素)
1.人员(组织;起关键作用)
2.过程(流程;起关键作用)
3.工具(为人员和过程服务,起辅助作用)
五、常见软件开发流程
1.瀑布模型
优点:简单高效
缺点:a.测试介入较晚;b.不适合需求频繁变更的项目;c.不适合大的项目
2.螺旋模型
优点:充分考虑风险,抗风险能力强
缺点:成本太高
适用范围:与生命财产相关的系统
3.敏捷开发
优点:a.迭代周期不长,比较好的改善用户满意度;b.以人为核心;c.可快速响应市场变化
缺点:对团队成员的素质和稳定性要求很高
六、常见的导致软件中存有缺陷的根源有:
1.缺乏有效的沟通,或者没有进行沟通
2.软件复杂度越来越高(软件危机的原因:软件系统复杂度提高)
3.编程错误
4.需求不断变更
5.时间压力(项目进度的压力)
6.缺乏文档的代码(不重视开发文档&#