软件测试基础知识

xiaoxiao2021-02-28  141

1、软件生命周期(SDLC)的六个阶段      1、问题的定义及规划      2、需求分析      3、软件设计      4、程序编码      5、软件测试      6、运行维护 2、软件生命周期模型      瀑布模型、快速原型模型、迭代模型 3、软件测试概念      广义概念:指软件生存周期中所有的检查、评审和确认工作,其中包括了对分析、设计阶段,以及完成开发后维护阶段的各类文档、代码的审查和确认      狭义概念:识别软件缺陷的过程,即实际结果与预期结果的不一致 4、软件测试目的      发现软件中各种缺陷。测试只能证明软件存在缺陷,不能证明不存在缺陷。测试可以使缺陷降低,但不能消灭。用较少的用例,时间和人力找出软件中各种错误和缺陷。 5、软件测试原则      1、Good-enough:一种权衡投入/产出比的原则      2、保证测试覆盖程度,但是穷举测试不可能      3、测试都应追溯用户需求      4、越早测试越好,测试与开发相结合      5、测试规模由小到大,由单元测试到系统测试      6、为了尽可能发现错误,应该由独立第三方测试       7、不能便于测试而擅自修改程序      8、应该测试软件该做什么,也应该测试不该做什么 6、软件测试重点      1、测试用例设计      2、测试工作的管理      3、测试环境的建立 7、黑盒测试      定义:又叫功能测试或数据驱动测试,针对软件功能需求/实现进行测试,通过测试来检测每个功能是否符合需求,不考虑程序内部的逻辑结构       方法:功能划分、等价类划分、边界值分析、因果图、错误推测 8、白盒测试      定义:又叫结构测试或逻辑驱动测试,必须知道软件工作过程,通过测试软件内部是否合乎要求、设计正常运行      方法:对应程序的一些主要结构:语句、分支、逻辑路径、变量:语句覆盖、分支覆盖、逻辑覆盖。 9、动态测试      在开发/测试环境或实际环境运行软件,并使用测试用例去查找软件缺陷;包含功能确认。接口测试、覆盖率分析、性能分析、内存分析、 10、静态测试      不实际运行软件,主要对软件的编程格式、结构等方面进行评估。包含代码检查、程序分析、代码质量等。可以手工可以工具进行。 11、手工测试和自动测试      手工测试:工作量大,重复多,回归测试难于实现。       自动测试:测试不能完全自动化、测试脚本维护高、灵活性差 12、测试流程      1、单元测试              ①定义:对最小的软件单元-模块的验证工作           ②内容:接口测试、内部数据结构、全局数据结构、边界、语句覆盖错误路径           ③通常是面向白盒测试、静态测试      2、集成测试               ①测试发现与模块接口有关问题           ②内容:API             ③:避免一次性集成(除非软件规模小),应该增量集成      3、系统测试           ①:根据软件需求规范进行系统测试,确认系统满足需求的要求           ②:内容:所有功能得到满足,所有性能得到满足,其他需求(安全性,容错性,兼容性)得到满足      4、用户验收测试               ①:Alpha测试     用户在开发者场所测试,是受控的环境中           ②:Beta测试        由最终用户测试,用户测试遇到的问题并报告给开发者      5、回归测试           修改旧代码后,创新测试确认有没有引入新的错误 13、压力测试VS性能测试      常规压力下进行性能测试,检查系统反应、运行速度等指标;压力测试发现系统能支持的最大负载 14、测试用例组成      用例编号、用例类型、前置条件、操作步骤、预期结果、实际结果
转载请注明原文地址: https://www.6miu.com/read-28993.html

最新回复(0)