测试开发体系
- 其他
- 2025-08-04 11:30:03

软件测试 通过手工或者工具对 “被测对象”进行测试验证实际结果与预期结果之间是否存在差异 软件测试作用 通过测试工作可以发现并修复软件当中存在的缺陷,从而提高用户对产品的使用信心测试可以降低同类型产品开发遇到问题的风险 软件缺陷 软件缺陷被测试工程师和开发工程师们称作 bug软件缺陷会导致软件不能正常运行,它的存在会在一定程度上导致软件不能满足用户的需求,甚至有可能破坏或泄漏用户的重要数据 软件测试原则 测试显示缺陷的存在穷尽测试是不可能的测试尽早介入缺陷集群性(2/8原则)杀虫剂悖论测试活动依赖于测试内容没有错误是好是谬论 软件测试对象 需求分析阶段:需求文档、接口文档编码实现阶段:源代码系统功能使用:软件程序 测试用例 为特定的目的而设计的一组测试输入、执行步骤和预期的结果,以便测试产品否满足某个特定需求的文档 软件 软件是与计算机系统操作有关的计算机程序、可能有的文档及数据。 软件生命周期 定义问题软件开发软件维护
@startuml scale 10 |定义问题| start :搜集需求; :可行性研究; :需求分析; |软件开发| :概要设计; :详细设计; :编码; :测试; |软件维护| :纠错性维护; :改进性维护; :报废; stop @enduml
软件开发流程 为了使软件开发的工作系统化并且可控制;需要采用合适的软件开发模型和开发过程管理所有的活动。@startuml scale 10 title 软件开发模型 :瀑布模型; :敏捷开发模型; :DevOps 模型; @enduml
瀑布模型 软件开发的各项活动严格按照线性方式进行。当前活动接受上一项活动的工作结果。当前活动的工作结果需要进行验证。@startuml scale 4 :制定计划; :需求分析; :软件设计; :程序编码; :软件测试; :运行维护; @enduml
瀑布模型优缺点 优点: 开发的各个阶段比较清晰。强调早期计划及需求调查。适合需求稳定的产品开发。缺点: 早期的错误可能要等到开发后期的阶段才能发现。由于开发模型是线性的,增加了开发的风险。@startuml scale 4 :制定计划; :需求分析; :软件设计; :程序编码; :软件测试; :运行维护; @enduml
敏捷开发模型 适用于需求频繁变化和需要快速开发的场景。 XPSCRUMXP极限编程
SCRUM 敏捷模型总结 增量迭代小步快跑 DevOps evOps 生命周期 持续开发持续测试持续集成持续部署持续监控 DevOps 对发布的影响 减少变更范围加强发布协调自动化 CI/CD 持续集成(Continuous Integration,缩写为 CI): 一种软件开发实践。团队开发成员每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证。根据测试结果确定新代码和原有代码能否正确地集成在一起。持续交付(Continuous Delivery,缩写为 CD) 是一种软件工程手法。让软件产品的产出过程在一个短周期内完成。保证软件可以稳定、持续的保持在随时可以发布的状况。目标: 让软件的构建、测试与发布变得更快以及更频繁。减少软件开发的成本与时间,减少风险。 CD 与 DevOps 的关系 DevOps 的范围更广: DevOps 是软件交付过程所涉及的多个团队之间的合作。并且将软件交付的过程自动化。持续交付是一种自动化交付的手段: 关注点在于将不同的过程集中起来。并且更快、更频繁地执行这些过程。总结:DevOps 可以是持续交付下的一个产物,持续交付的成果直接汇入 DevOps 模型。 软件测试分类@startmindmap scale 10 * 软件测试分类 ** 按开发阶段分类 *** 单元测试 *** 集成测试 *** 系统测试 **** 功能测试 **** 兼容性测试 **** 性能测试 **** 安全测试 *** 验收测试 **** α 测试 **** β 测试 ** 按是否查看代码 *** 白盒测试 *** 黑盒测试 *** 灰盒测试 left side ** 按测试执行方式 *** 静态测试 *** 动态测试 ** 按是否手工执行划分 *** 手工测试 *** 自动化测试 ** 其他分类 *** 冒烟测试 *** 回归测试 *** 随机测试 *** 探索性测试 @endmindmap
黑盒测试 黑盒测试又称数据驱动测试。完全不考虑程序内部结构和内部特性。注重于测试软件的功能需求。只关心软件的输入数据和输出数据。 白盒测试 白盒测试研究产品内部的源代码和程序结构。单元测试就是白盒测试的一种。