软件开发流程和项目管理
第一阶段:测试流程和理论---第一讲:软件开发流程和项目管理
这一讲,介绍最最基础的知识,
软件开发的流程是怎么样的?
软件开发模型,就是软件开发的经验沉淀下来形成了模型,
1,瀑布模型
需求分析---设计包括了界面设计和程序设计---开发进入编码阶段----进入测试阶段-----上线维护
这就是瀑布模型,本流程受限于上一个流程的结果,这是一个线性的模型,
但是这个是非常重要的模型,其他的模型都是以这个为基础的,
bug发现的越早是成本月底的,
2,敏捷模型
xp
看里层---编程方法
简单设计,满足客户当下需求
结对编程,一个考虑细节,一个考虑结构,
测试驱动开发,写测试代码,然后再开发符合测试的代码,
重构,这种方式经常需要重构,
看中间---小组实践
代码集体所有---所有都可以改任何地方的代码
编码标准----因为都可以改,所以要有标准,有一个统一的标准,
稳定高速的步伐,
持续集成----需要多个人写,把所有的人代码集成到一起,这就是合并代码的过程,
看外层----交付和管理
小规模发布---一半就是两周一个版本,
计划游戏
完整的团队,
现场客户,
-----------所以这个xp,对开发和测试的要求都是比较高的, 比较难以实现,
scrum
---这个用的比较多,
我感觉,这也是一个瀑布模型,不同的地方是
1,周期更短
2,会有站会更快的反馈迭代,
3,所以就是增量迭代,小步快跑,
3,devops---这是一个更新的模型
解决的就是更多的开发,上线,更可靠,
快速的上线,甚至是每天上线,
所以这就需要开发测试运维更紧密的配合,
这就是需求快速变化,需要开发测试都要敏捷的情况下,
持续测试,里面就有自动化测试,selenium,appium,还有框架,比如unittest,pytest
持续部署,docker
我感觉这个里面最好的就是docker,流水线这种方式,就是devops,
如果要每天都发布,敏捷开发就比较吃力了,但是devops自动化部署这种就可以很快,基本一个功能几个小时开发完了,就可以上线了,
而且里面就充满了自动化测试,自动化部署,
################
项目管理
测试和产品的沟通:
测试和研发的沟通
整个的过程
这个实例是使用了jira来管理的,
这里面有几个重点
1,测试用例评审
2,回归范围评审
3,多轮测试,会进行至少3轮的测试,
4,灰度ab测试,会把上线的内容先发布给一部分的用户,然后比较平稳了才会全都放开,如果实在不行,还可以回滚,
5,整个流程中项目文档的管理,需要有一个项目空间来统一管理,需求的,开发设计的,测试用例的,等等,
###