概念 在规定的条件下对程序 进行操作 以发现程序错误 衡量软件质量 并对其是否能满足设计要求进行评估的过程
2 软件测试的分类按照开发阶段 单元测试 集成测试 系统测试 验收测试
单元测试 是对软件组成进行测试。其目的是为了检测软件基本组成单位的正确性
集成测试 将程序的模块采用适当的集成策略组装起来
系统测试 对整个软件进行系统性测试。其中包括软件所运行的硬软件环境进行测试。时间大部分在系统测试的阶段 包括回归测试和冒烟测试
回归测试 是在开发修改完旧的代码之后。重新进行测试以确定修改没有引入新的错误或其他代码产生错误 自动化回归测试将大幅降低系统测试 维护升级等阶段的成本。在整个软件的过程中占有很大的工作比重 软件开发的各个阶段都会多次回归测试
冒烟测试 目的是为了确认软件的基本功能正常 可以进行后续的测试 冒烟测试一般是开发人员开发完毕后送给测试人员进行测试时 测试人员先进行冒烟 用以保证基本的是正确的 不会影响到后续的测试。
验收测试 他是部署软件之前最后的测试操作 它是技术测试时最后的一个测试 也叫交付测试 验收测试的目的是保证软件准备就绪 按照项目合同 任务书 双方约定的验收依据文档 向软件的购买者展示该软件的原始的需求
按照是否看代码 黑盒测试 白盒测试 灰盒测试
黑盒测试 也叫功能测试 测试中把被测的软件当成一个黑盒子 不管内部的结构是什么 而是关心输入和输出的数据时候正确
白盒测试 也叫基于代码测试 是指研究的源代码和程序结果 接口测试也是一种白盒测试
灰盒测试 是介于白盒测试和黑盒测试之间的一种测试 主要是用于集成测试阶段。不仅关注输入和输出的重要性。同时也关注程序内的情况
按照是否手工执行 手工测试 自动化测试
手工测试 是有人一个个的输入测试用例 然后观察结果 和机器测试相对应 属于比较原始的 需要一个一个步骤进行测试。
手动测试的优缺点
优点 自动化测试无法替代的探索性测试 发散思维类无既定结果的测试
缺点 执行的效率比较慢。量大易错
按照测试对象划分 性能测试 安全测试 兼容性测试 文档测试 业务测试 界面测试
性能测试 是为了检查系统是否满足需求规格说明书中规定的性能 通常表现为以下几方面
- 对资源的利用进行精确的度量
- 对执行间隙 日志文件 如报错 中断
- 响应时间
- 吞吐量
- 辅导存储区 例如缓冲区 工作区的大小
- 处理精度等进行检测
安全测试 这个领域相对比较独立 需要很多专业知识 例如WEB的安全测试 熟悉各种网络协议 TCP/Http 防火墙 CDN 熟悉各种操作系统的漏洞。熟悉路由器等。从软件来说熟悉各种攻击手段 例如sql注入 Xss cc攻击等
兼容性测试 是指软件之间能否很好的运作 会不会有影响 软件和硬件之间是否发挥很好的效率工作 会不会影响导致系统的崩溃
文档测试 主要关注点是 术语 正确性 完整性 一致性 完整性 一致性
业务测试 是测试人员将系统的各个模块串联起来运行 模拟真实用户实际工作流程 满足永续需求定义等功能进行测试的过程
界面测试 也叫UI测试。测试用户界面的功能模块的布局是否合理 整体风格是否一致、各个控件的放置位置是否符合客户的使用习惯 还要测试操作界面操作便捷性、导航简单易懂性、页面元素的可用性 页面元素的可用性、界面中文字是否正确 命名是否统一 页面是否美观、文字、图片组合是否完美。
3 一个项目从开始到结束 软件测试的流程首先项目进行立项 然后对其项目进行需求分析 分析完以后对其需求评审并将其提交给开发 同时QA 质量保证 团队或者测试团队来编写测试用例 通过产品经理 开发人员和测试人员对测试用例进行评审 评审完以后 测试人员进行冒烟测试 确认完基本功能没有问题以后 将根据用例来进行测试 生成缺陷报告提交给开发 开发修改以后对其进行回归测试 如果还是有缺陷 就重复以上操作 其次对其进行验收测试 最后完成交付



