[TOC]

测试介绍

什么是测试?

运行程序,发现bug。

验证程序的正确性、完整性、安全性和质量的过程

测试的分类

  • 按开发阶段

    单元、集成、系统、验收

  • 按是否接触代码

    黑盒、白盒、灰盒

  • 按是否运行

    静态、动态

  • 按测试对象

    性能、安全、兼容性、文档、用户体验、业务、界面、安装、内存泄漏

  • 按测试实施的组织

    α、β、第三方测试

  • 按是否手工

    手工、自动化

  • 其他

    冒烟、回归

什么是自动化测试?

自动化测试是软件测试活动中一个重要分支和组成部分,随着软件行业发展,市场对软件周期及软件质量要求越来越高,催生出来各种开发模式,比如常见开发模式敏捷开发,同时对我们测试人员提更高的要求,此时,产生自动化测试,即通过工具或者脚本来达到测试的目的,没有人工或者很少人工参与的软件测试活动叫自动化测试

自动化测试就是将测试流程从手工转换为自动化实现形式

自动化测试技术是目前业内特别流行也是特别主流的一个测试技术,是目前测试人员最为核心的能力之一

[]什么是框架?

框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。

在软件工程中,框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;

另一种定义认为,框架是可被应用开发者定制的应用骨架,前者是从应用方面而后者是从目的方面给出的定义。

  • Log:日志记录和管理功能,针对不同的情况,设置不同的日志级别,方便定位问题;
  • Report:测试报告生成和管理以及即时通知,测试结果快速响应;
  • Source:配置文件、静态资源的管理,遵循高内聚低耦合原则;
  • Common:公共函数、方法以及通用操作的管理,遵循高内聚低耦合原则;
  • TestCase:测试用例管理功能,一个功能点对应一个或者多个case,尽可能的提高覆盖率;
  • TestData:测试数据管理功能,数据与脚本分离,降低维护成本,提高可移植性;
  • TestSuite:测试组件管理功能,针对不同场景不同需求,组装构建不同的测试框架,遵循框架的灵活性和扩展性;
  • Statistics:测试结果统计管理功能,每次执行测试的结果统计、分析、对比以及反馈,数据驱动,为软件优化和流程改进,提供参考;
  • Continuous:持续集成环境,即CI环境,包括测试文件提交、扫描编译、执行测试、生成报告及时通知等功能,持续集成是自动化测试的核心

[]常见的自动化测试框架

1、接口自动化框架:

①、java+testNG/Junit+Maven/Ant/Gradle+Jenkins+MySQL+testlink/redmine

②、python+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine

③、python+rebot framework+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine

④、jmeter+Maven/Ant+Jenkins+MySQL+testlink/redmine

2、UI自动化测试框架

①、java+selenium/appium+testNG/Junit+Maven/Ant/Gradle+Jenkins+MySQL+testlink/redmine

②、python+selenium/appium+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine

③、python+rebot framework+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine

编程语言+单元测试框架+扫描编译工具+持续集成工具+数据库+项目管理工具

  • 编程语言:编写测试脚本、日志记录和输出;
  • 单元测试框架:提供测试脚本运行、异常校验等一些列的配置;
  • 扫描编译工具:测试文件扫描编译,一般配合持续集成工具使用效果更佳;
  • 持续集成工具:Jenkins,经典的持续集成工具;
  • 数据库:测试数据管理;
  • 项目管理工具:测试结果统计管理;

image-20230825221816771

image-20230825221833872