软件定义:程序 + 数据结构 + 文档。
软件危机:落后的软件生产方式无法满足迅速增长的计算机软件要求,从而导 致软件开发与维护过程中出现的问题。
软件工程:方法 + 工具 + 过程。
软件生命周期模型:瀑布模型,v模型,迭代模型。
软件测试是对软件需求分析、设计、编码的最终复查的一系列过程,是软件质量保证的关键步骤
目的:发现缺陷,提高质量
验证是否满足需求
建立软件质量的信心
1.1.1 测试七大原则
显示缺陷的不存在
穷尽测试不可能
测试尽早进入
缺陷集群性
杀虫剂悖论
测试活动依赖于测试背景
不存在缺陷不可能
软件测试工作流程
软件测试工作流程:测试计划和控制--测试需求分析和用例设计--实现和执行测试用例--评估出口准则和报告--测试结束活动。
软件测试的生命周期流程:计划测试-需求分析-设计用例-开发用例-执行用例-缺陷追踪-测试报告评估
是否关心内部结构:白盒测试黑盒测试 灰盒测试
开发过程级别:单元测试 集成测试 系统测试验收测试
是否执行程序:静态测试 动态测试
执行过程是否需要人工干预:手工测试自动化测试
测试实施组织:开发测试 用户测试 第三方测试
另外还有功能测试,非功能测试
非功能测试包括:负载测试、压力测试、文档测试、性能测试、稳定性测试、容量测试、兼容性测试
软件缺陷管理定义:
软件未实现产品说明书要求的功能。
软件出现了产品说明书指明不应该出现的错误。
软件实现了产品说明书未提到的功能。
软件未实现产品说明书虽未明确提及但应该实现的目标。
软件难以理解,不易运行或运行缓慢。