技术团队构成:项目经理,产品团队,设计团队,开发团队,测试团队,运维团队,运营团队。
软件的生命周期:市场调研,可行性研究,项目立项,需求设计,设计开发测试,发布运行维护,下架。
什么是软件测试:使用人工或自动化的手段检测被测对象是否满足用户的需求。
软件测试的目的:保证产品符合用户需求,发现并解决问题,预估产品的质量,降低产品失败风险。
软件质量特征:功能性,可靠性,易用性,一致性,效率(性能测试),可维护性。
怎么做好软件测试:专业的测试技能,持续学习能力,有耐心,细心,协作精神,有沟通能力,业务知识,责任心,自信心。
模型:
开发模型:瀑布模型,原型模型,螺旋模型,RUP模型,敏捷开发模型。
测试模型:V模型,W模型,H模型,R模型,敏捷测试模型。
什么是缺陷:所有不满足用户需求的都是缺陷。
缺陷包含的几种场景:遗漏,错误,冗余,不满意。
缺陷产生的原因:对用户需求理解错误,程序架构设计有问题,开发工具本身有问题,开发过程中缺少沟通、监督,系统业务越来越复杂,程序本身没有问题、但不符合用户需求,外界因素影响。
缺陷报告包含内容:缺陷编号,缺陷标题,严重程度,优先级,复现步骤,复现附件,发现人,指派人,所属产品,所属项目,所属模块,影响版本,缺陷类型,期望修复时间,操作系统,浏览器。
缺陷的生命周期:发现缺陷,解决缺陷,关闭缺陷。
软件测试的原则:测试证明缺陷的存在,不可能进行穷尽测试,测试应该尽早介入尽早发现,缺陷存在群集现象,杀虫剂悖论,不同的测试活动依赖不同的测试背景,不存在缺陷的谬论。
测试方法:
按照是否关注代码内部逻辑划分:黑盒测试,白盒测试,灰盒测试。
按照是否执行代码划分:静态测试(不执行),动态测试(运行)。
按照是否手动测试划分:手工测试,自动化测试(使用代码或测试工具替代人为的执行操作,判定结果)
测试类型划分:功能测试,性能测试,接口测试,安全测试,兼容性测试,界面测试,文档测试,易用性测试,安装卸载测试,App相关的专项测试,回归测试,确认测试,可靠性测试,可移植性测试,可用性测试,可维护性测试。
测试级别/阶段划分:需求测试,单元测试,集成测试,系统测试,验收测试(α测试和β测试)。
测试用例的概念:测试执行时候的一个例子。
为什么要编写测试用例:加深对需求的理解、提高测试覆盖度,指导测试执行,一定程度上反应测试进度,帮助后期分享测试质量(问题遗漏后上线后分享原因)。
测试用例的内容:用例编号,所属项目,所属模块,测试项,用例标题,操作步骤,预置条件,预期结果,优先级,用例属性,