MCP:Minimal Concept Principle(最小概念原则)(最基础)
软件生命周期——软件从生到死的过程
- 计划
确定开发目标:确定需要做的软件是什么?
完成项目的可行性研究:确定项目能不能做,做出来有没有意义?
对项目进度进行预估和安排:找人、找时间、确定预算
制定实施计划:大体计划安排
- 需求分析
分析整理项目需求项:决定项目具体有哪些功能需要开发,产品具有那些详细的特性
根据整理出的需求项,编制需求规格说明书(SRS)
制作产品原型
- 设计(依赖于需求)
完成项目概要设计(开发完成)(骨骼)(总体设计)
完成项目详细设计(开发完成)
- 编码
程序员编写代码(依据概要设计和详细设计)
- 测试
单元测试:对程序的最小单元进行测试的过程。(最小指函数或者一个类)
集成测试:对模块与模块之间的接口进行的测试叫集成测试
系统测试:对完成编译的系统整体进行测试的过程
验收测试:交付之前和客户一起完成的测试
- 运行和维护
产品部署
运行维护
功能升级
性能提升
常见的测试模型——窥一斑而知全豹
模型:
传统瀑布模型(不常用太老测试介入太晚):开发风险太大开发完成,出现bug后修复成本高(测试后置)
V模型:仍然需要等开发完后才进行测试只是进行了详细划分(没有解决风险问题),没有文档的测试环节。
W模型(双V模型(Verification Validation)):加入了对文档的验证从需求开始测试就参与进来加快测试效率降低测试风险,将开发和测试分离开来
敏捷测试模型(现代互联网最新模型应用广泛)(在W模型加入迭代概念):敏捷模型主要特点就是为了适应现代互联网公司“短频快”的测试和开发节奏而设计
迭代:每一次迭代叫做一个sprint,每个sprint里面选出来要实现的需求没被放到Sprint Backlog一次迭代一般小于一个月
Product Owner(产品经理):PO整理项目需求按照需求优先级将需求中优先级高的先进行开发(一次迭代)
daily meeting:每日会议,一般是站会形式,每个人发言时间不长,内容:昨天做什么,今天做什么,有什么风险和问题。
sprint burn down:迭代燃尽图
sprint review meeting:迭代回顾会议,回顾本轮迭代中遇见的问题以及改进措施
Scrum Master:组长
Team Member:组员
软件的质量模型——软件应该如何审美
质量模型是基于ISO25000和国标GB/T25000制定的可用于测试产品质量的模型,该模型提供了从不同维度考量产品质量属性的依据
质量模型规定的各种不同质量属性和不同的测试类型之间具有映射关系,所以可以用不同的测试类型来测试不同的质量属性。
依从性:符合法律法规相关
如何测试一个水杯的质量?(考察软件质量模型)
凡是问到一个产品怎么测都必须从产品质量模型所规定的八大质量属性去考虑
软件测试的分类——保障测试效果的“瑞士军刀”
黑盒测试:不知道被测试软件代码结构的基础上,根据产品需求规格站在用户角度来对软件的输入输出进行测试
白盒测试:指基于被测软件的代码和结构本身进行测试的过程叫白盒测试
灰盒测试:介于白盒和黑盒测试之间的测试,灰盒主要是针对接口来进行测试,并不知道函数内部的实现结构
GUI测试:是对页面的测试
探索性测试:基于经验测测试(凭借经验和感觉进行测试)
项目相关文档