项目生命周期(质量)
1.需求质量(来源质量不考虑)
清晰性/无二意性
完整性
兼容性
一致性
关联性
正确性
可行性
易改性
可理解性
可测试性
性能
2.评审质量
功能、逻辑、实现上是否有错误
3.需求分析质量
1 把需求转化为功能需求
1)对测试范围进度量;
2)对处理分支进行度量;
3)对需求业务的场景进行度量;
4)明确其功能对应的输入、处理和输出;
5)把隐式需求转变为明确。
4.设计质量
明确:软件设计模型易于理解,软件构造者在设计方案的实现过程中,勿需再面对影响软件功能和质量的技术抉择或权衡。
可行:在可用的技术平台和软件项目的可用资源条件下,采用预定的程序设计语言可以完整地实现该设计模型。
高质量:设计模型不仅要给出功能需求的实现方案,而且要使该方案适应非功能需求的约束;
设计模型要尽量优化,以确保依照设计模型构造出来的目标软件产品(在排除软件构造阶段引入的影响因素后)能够表现出良好的软件质量属性,尤其是正确性、有效性、可靠性和可修改性。
如:界面插件独立、共用、维护。
5.代码质量(编码、测试)
编码
-
可维护性:好的代码应该易于维护和修改,包括规范的代码结构、标准的命名规则、清晰的注释和文档等。
-
可读性:好的代码应该能够清晰地传达代码的意图,并且易于理解。可以通过格式化、缩进、命名和注释等方法来提高代码的可读性。
-
可扩展性:好的代码应该具备一定的扩展性,能够方便地添加新功能和模块,同时不会对现有代码造成过多的影响。
-
效率和性能:好的代码应该具备高效率和优秀的性能,能够满足业务需求,同时具有良好的响应速度和资源利用效率。
-
可重用性:好的代码应该能够重复利用,既能够提高代码的开发效率,同时也能降低代码的复杂度和错误率。
-
可靠性:好的代码应该具备高可靠性,能够稳定运行,并且具有一定的容错能力,以避免因运行时发生的错误导致系统崩溃或数据丢失。
好的代码应该具备一定的可维护性、可读性、可扩展性、效率性和可靠性,并且能够实现代码的重用和可复用。需要根据具体的应用场景和业务需求来评判代码是否好,以及如何优化代码以提高质量。因此在编写代码时,需要始终注重代码质量,同时紧密结合实际应用,不断进行反思和优化。
新技术
- 引入的技术是否成熟
- 是否已做好相应储备
- 是否能承担相应人员培养成本
- 能够承担多大的风险
- 是否已经做好引入后的价值评估
测试
测试需求是什么、决定怎么测试、明确测试时间、确定测试人员、确定测试环境:测试中需要的技能,工具以及相应的背景知识,测试过程中可能遇到的风险等等。测试需求需要做到尽可能的详细明确,以避免测试遗漏和误解。
1、功能
首先需要测试软件的基本功能是否完整(做到有些难度)
2.安全
(1)检测用户的隐私在前端页面以及数据传输过程中是否加密,
(2)检查是否有sql注入漏洞
(3)检查是否有xss攻击漏洞
(4)检查APP的安全
着重检测输入框!
- 用户体验
软件是否满足用户的审美。是否够人性化,是否好用好看;
4.兼容性
根据不同的软件,分别检测在不同的平台上、不同的app中,不同的操作系统等是否能正常运行
5.性能
主要考虑软件的反应速度,以及多用户的使用场景
6.可靠
主要考虑是否适应长时间的运行
6.上线质量(准备、预演、上线)
一、制定上线清单,先上测试环境
清单的要素包括:什么人(无关人员别影响其他人),在什么时间,需要准备什么资料,做什么事。其中,要明确先后顺序,要明确如何验证是否出现异常、明确验证方式以及问题处理方式。
上线之前,先在测试环境预上线一次,把所有的相关环节的资料和流程用清单的形式记录好。尤其是上线过程中遇到的问题。解决后,再从新在走一遍上线流程。全自动部署,减少人工参与。
二、做好备份
上线之前,先对前一个版本进行备份。包括程序和数据。一旦上线出现问题,要能一键还原上一个版本。通常要选择使用人数最少的时间段来进行上线工作。
三、数据监控和预警
上线后,还需要观察一段时间正常的用户日志和系统日志。有条件的还需要对重要业务设置关键性指标。指标出现异常要能够有短信或电话预警。对异常的数据要去排查原因。
四、A/Btest 验证新功能效果
如果怕出现问题,可以提前对新功能做好A/Btest的控制。A/Btest是指用户打开软件后,一部分用户看到的老业务A的业务流程,另一部分看的是新功能B的业务流程。这样便于我们观察新功能对用户行为带来了什么影响。如果数据下降很大,那说明新功能可能有问题,我们可以先隐藏新功能。
7.运维质量
一、给相关人员做好培训功能
主要是给客服做好培训工作,告知其可能出现的问题以及应对方案。避免用户反馈新问题,客服不知道的情况。这个也可以在测试阶段做好。根据培训的工作量灵活调整。
二、复盘
上线后要做一个复盘
三、及时排查解决、人员安排、资源安排、环境安排、特殊问题解决
8.总结质量
项目总结会议的目的(意义):
- 了解项目全过程的工作情况及相关的团队或成员状况
- 了解出现的问题并进行改进措施总结
- 了解项目全过程中出现的值得吸取的经验并进行总结
- 对总结后的文档进行讨论,通过后存入公司的库
可能要做一些项
1.项目分享
2.团队分享
3.成员分享
4.测试分享
5.bug分享
6.总结
工作方式
1.工作期望
公司期望
部门期望
团队期望
个人期望
2.工作态度
3.交流方式
公司间、部门间、团队间、成员间
其他
1.迭代时间
2.项目基本原则、开发基本原则
需求上是否需要兼容历史版本
代码方面兼容
数据结构、接口兼容
端与端之间的兼容