移动开发技术(三)

禅道工具的使用

  1. 添加产品

    步骤:

    1. 在“产品视图”中,单击“添加产品”按钮
    2. 在“新增产品”页面中,输入产品信息,单击“保存”按钮

    说明:

    产品由产品经理进行添加

    产品类型:正常、多分支(PC、Android、Ios)、多平台(Windows、Linux、Uuix、Mac)

  2. 需求

    步骤:

    1. 在“产品视图”中,单击“需求”菜单
    2. 在“工具栏”中,单击“提需求”按钮
    3. 在“提需求”页面中,输入需求信息,单击“保存”按钮
  3. 项目视图

    主要功能: 添加项目、设置团队、关联需求、分解任务、概况

    1. 添加项目

      步骤:

      1. 在“项目视图”中,单击“添加项目”按钮
      2. 在“添加项目”页面中,输入项目信息,单击“保存”按钮

      说明:

      项目由项目经理进行添加

      项目类型:短期项目、长期项目、运维项目

    2. 团队

      步骤:

      1. 在“项目视图”中,单击“团队”菜单
      2. 在“团队成员”页面中,单击“团队管理”按钮
      3. 在“团队成员”列表中,选择相应的成员,单击“保存”按钮
    3. 需求

      步骤:

      1. 在“项目视图”中,单击“需求”菜单
      2. 在“需求列表”页面中,单击“关联需求”按钮
      3. 在“需求列表”中,选择要关联的需求,单击“保存”按钮
    4. 概况

      通过概况可以了解项目的基本信息,可以对项目进行编辑、删除、开始、结束、延期、挂起(暂停)

    5. 分解任务

      步骤:

      1. 在“项目视图”中,单击“需求”菜单
      2. 在“需求列表”中,选择一条需求,单击“分解任务”图标
      3. 在“建任务”页面中,输入任务信息,单击“保存”按钮
    6. 研发人员完成任务(编写代码)

      步骤:

      1. 在“我的地盘”视图中,单击“任务”菜单
      2. 在“任务列表”中,单击“ID”编号
      3. 在“任务详情”页面中,单击“开始”按钮
      4. 根据需求描述和任务描述,编写代码,编写完成后,单击“完成”按钮
    7. 版本(Build)

      版本: Release\Versions\Build

      当研发人员完成若干功能后,就可以创建版本,版本由运维人员创建。

      步骤:

      1. 在“项目视图”中,单击“版本”菜单
      2. 在“版本列表”页面中,单击“创建版本”按钮
      3. 在“创建版本”页面中,输入名称编号,单击“保存”按钮

      说明:

      版本名称编号命名规则:

      产品名称_版本类型_时间

      版本类型:TEST(测试版)\STABLE(稳定版)

  4. 测试视图

    主要功能: 测试用例的管理,Bug的管理,提交测试

    1. 测试人员完成任务(编写测试用例)

      步骤:

      1. 在“我的地盘”视图中,单击“任务”菜单

      2. 在“任务列表”中,单击“所属项目”链接

      3. 在“任务列表”中,根据“指派给”确认那条是自己的任务(红色),单击“开始”图标

      4. 根据“指派给”和“状态”(进行中),再次确认那条是自己的任务,单击“相关需求”链接

        说明: 如果“相关需求”列没有显示,可以调整页面大小来显示(Ctrl -)

      5. 在“需求详情”页面中,阅读需求描述,分析需求,确认设计测试用例的方法,数据分析,标编号,单击“建用例”按钮

      6. 在“建用例”页面中,输入用例信息,单击“保存”按钮

      7. 重复上述步骤,直到用例编写完成,最后,单击“完成”按钮。

      说明:

      用例类型:功能测试、性能测试、安全相关、接口测试

      用例标题格式:

      产品/项目名称_模块名称_功能点数字编号

      禅道项目管理系统_组织视图_部门_添加部门001

      ZENTAO_ZZST_BM_TJBM001

    2. 导入测试用例

      步骤:

      1. 在“测试视图”中,单击“用例”菜单

      2. 在“工具栏”中,单击“导出”,选择“导出模板”选项

      3. 在“导出”窗口中,字符编码集,选择“GBK”,单击“保存”按钮

      4. 在模板中,编写测试用例,完成后,并保存

        说明: 保存后的文件名,以产品名称_模块名称命名。

      5. 在“工具栏”中,单击“导入”按钮

      6. 在“导入”窗口中,选择要导入的文件,选择字符编码集(GBK),单击“保存”按钮

    3. 导出测试用例

      步骤:

      1. 在“测试视图”中,单击“用例”菜单
      2. 在“工具栏”中,单击“导出”选择“导出数据”选项
      3. 在“导出”窗口中,输入文件名,选择文件类型(csv/html),选择字符编码集(GBK),选择导出方式(全部/部分),单击“导出”按钮

性能测试

  1. 功能测试VS性能测试

    1. 功能测试:

      QQ 软件 发信息的功能 能不能接收信息

      12306购票系统 购票功能 能不能订购成功 如果失败 要有相对应的提示信息

    2. 性能测试:时间(快,慢),多用户(多,少)

      1. 前提:程序的功能已经通过测试(功能没有问题)
      2. 影响系统性能的因素:客户端、网络、域名服务器、服务器(被测系统)、代码、应用服务器、数据库、硬件(CPU、内存、磁盘)、操作系统等……
      3. 性能测试关心的两个词:请求、响应
        1. 请求:客户端向服务器发送的请求,如:请求登录系统,请求购买一张票,请求注册账号…
        2. 响应:服务器根据客户端提交的请求内容,做出相应的应答
    3. 性能测试概念:通过工具来模拟各种负载条件下的压力,对系统进行测试,验证各项性能指标(响应时间、用户数……)是否满足性能需求

    4. 性能测试流程

      1. 分析需求(找到测试点,预期值)

        测试点:被测系统的功能点,并不是所有的功能点都需要测试,用户常用的、主要的、与数据库相关的一些功能点需要做性能测试

        预期值:需求中各项性能指标的值

      2. 编写性能测试计划

      3. 执行测试(Jmeter)

      4. 分析结果

        1. 通过,出性能测试结果报告
        2. 不通过,分析定位性能瓶颈
    5. 并发与并行

      并发: 在用户量很大的情况下同时访问共有资源 如果系统性能不好,并发访问系统,有可能导致服务响应时间较长,也有可能导致服务宕机。

      并行: 多用户的情况下,这些用户(线程)各占自己的资源同时访问服务器

  2. Jmeter概述

  3. 性能测试工具:loadRunner Jmeter

    1. Jmeter是Apache开源组织开发的纯Java桌面应用,可以用来模拟用户产生负载,完成性能测试工作-----性能测试工具

      1. Jmeter既可以安装在windows上也可以安装在Linux上,但是LR只有Load Generator可以安装在Linux系统
      2. Jmeter是纯Java开发的,一般的Java程序都能够进行测试
      3. 运行Jmeter需要Java环境 配置环境变量
      4. Jmeter安装文件是绿色版,解压即可使用
    2. Jmeter的安装

      1. 下载安装文件:http://jmeter.apache.org/(官网)

      2. 安装JDK(注意版本)

      3. 配置JDK的环境变量 JAVA_HOME: 配置jdk根目录 ClASSPATH 配置 . PATH 配置JDK 下面bin路劲

        Jmeter JDK C:\Program Files\Java\jdk1.6.0

        路径:C:\Program Files\Java\jdk1.6.0

        %JAVA_HOME%\bin;

      4. 安装Badboy工具录制脚本

      5. 总结:

        1. Jmeter:性能测试工具

          启动:在Jmeter安装文件下的bin目录中,双击jmeter.bat文件即可C:\Jmeter\apache-jmeter-2.12\bin\jmeter.bat

        2. JDK:Java环境,运行Jmeter时需要

        3. Badboy:其他测试工具,为Jmeter录制脚本

        4. webtours:被测系统

    3. Jmeter体系结构

      1. 为了便于Jmeter的讲解,我们统一一下名词

        1. 元件:如果未做特殊说明,后面出现的元件代表Jmeter工具栏的一个子菜单(功能),如:线程组、逻辑控制器、HTTP请求、集合点、事务……都是一个元件
        2. 组件:一组元件的集合(一个或多个元件),如:监听器、取样器、逻辑控制器……
      2. Jmeter主要的功能模块(元件)

        1. 测试计划(test plan):Jmeter 的一个脚本就是一个测试计划,测试计划就是一个管理单元,管理着本次测试包含的所有内容,如:测试人员(线程组)、请求(脚本)、结果……

          测试计划的几要素

          • 要素一:一个脚本只能有一个测试计划,启动Jmeter就是一个测试计划
          • 要素二:测试计划中至少有一个线程组(测试小组),也可以有多个
          • 要素三:至少有一个取样器(请求)
          • 要素四:至少有一个监听器(用来查看脚本运行结果)
        2. 工作台:元件的暂存区域,在测试过程中把暂时不用的元件放入其中,待需要时再放回测试计划中,工作台中的元件,不参与测试,关闭Jmeter将丢失

        3. 线程组(Threads(Users)):性能测试需要模拟大量用户负载的情况,线程组就是用来完成这个工作的,在此元件中可以设置运行测试的线程数(让多少测试人员来执行测试)

          • 每个测试计划的第一步就是添加线程组,线程组是任何一个测试计划的开始点,所有的控制器和取样器都必须在线程组下
          • 添加方式:右击测试计划->添加->Threads(Users)->线程组
        4. 取样器(Sampler):向服务器发送的请求

          • 取样器是Jmeter向服务器发送请求的最小单元,每个取样器可以设置不同的属性
          • 测试不同的被测系统,需要添加不同的取样器,如:测试web系统,需要添加HTTP请求,测试FTP系统,需要添加FTP请求,测试数据库系统,需要添加JDBC请求等……
          • 添加方式:右击线程组->添加->Sampler->HTTP请求/FTP请求/Java请求……
        5. 监听器(Listener):收集测试结果并进行可视化

          • 在不同的监听器中显示不同的结果数据,请求内容、响应内容、吞吐量、错误率、响应时间等……
          • 常用的监听器:察看结果树、聚合报告、图形结果、以表格查看结果
          • 添加方式:右击线程组->添加->监听器->察看结果树/合报告
        6. 逻辑控制器(Logic Controller):可以自定义Jmeter发送请求的行为逻辑,结合Sampler可以模拟复杂的请求顺序,让请求执行不同的次数,按照不同的顺序执行,满足什么条件才执行

          常用的逻辑控制器:循环控制器、事务控制器、if 控制器

        7. 断言(Assertions):类似于Loadrunner中的检查点

          • 通过对比返回的响应数据与预期数据,用来判断请求是否成功,压力测试(性能测试)的前提就是保证功能的正确
          • 添加方式:右击取样器(请求)->添加->断言->响应断言

补充:负载测试和压力测试的区别?

  1. 共同点:都是在测试过程中逐步加压(递增测试)
  2. 负载测试 Load Testing 是在正常范围内测试,满足性能需求、正常运行;
  3. 压力测试 Stress Testing 可以在极端范围内测试,测试系统的性能极值.

性能测试:HP LoadRunner11

  1. 初步概念:

    1. **功能测试:**测试产品的功能是否满足功能需求。

      **如:**ATM取款(在线取款)是否成功

      或转账操作是否成功

      –一个用户

    2. **性能测试:**测试产品的性能是否满足性能需求。

      包括指标:时间、多用户共同使用

      **如:**ATM取款(在线取款)耗时30分钟

      十万人同时转账,系统崩溃了,都属于性能问题。

      **结论:**性能测试基于功能,其要求高于功能

      测试基本流程:

      功能测试、安全测试、性能测试

  2. 性能测试

    性能测试工具:HP LoadRunner11 份额:60%

    其它工具:JMeter 20%

    1. LoadRunner的初级部分:三大组件的基本运行

      1. 脚本生成器:录制、调试、增强性能测试脚本
      2. 控制台:好比总指挥部
      3. 结果分析器:分析性能测试结果数据,获取性能测试报告
    2. LoadRunner高级部分:三大组件深入掌握

    3. 理解并行与并发

      并行 :多任务占据各自资源一起运行

      并发 :多任务抢占少量资源“一起运行”–交替运行

  3. 性能测试的概念

    模拟真实的生产环境,制定性能测试计划,模拟不同用户使用不同压力去访问被测系统,根据计划中的性能指标分析系统是否满足性能需求。

    1. 常见性能指标:平均事务响应时间、TPS 每秒事务数、最大并发用户数……

    2. 注意:性能测试之前要做好系统备份!

    3. 性能测试首先看性能需求,如果没有需求,要和客户交流,根据被测系统相关资料,结合测试经验,编写性能测试计划(设计),测试计划是后续展开性能测试的重要依据。

    4. 负载测试和压力测试的区别?

      1. 共同点:都是在测试过程中逐步加压(递增测试)

      2. 负载测试 Load Testing

        是在正常范围内测试,满足性能需求、正常运行;

      3. 压力测试 Stress Testing

        可以在极端范围内测试,测试系统的性能极值;

      4. 举例:性能需求中要求系统支持100用户并发

        负载测试:20 40 60 80 100

        压力测试:100 200 300 …

      5. 影响性能的因素:

        1. 数据库:60%以上的性能问题和数据库有关
        2. 硬件配置:好的系统可伸缩 增加、去除设备改变性能
        3. 操作系统:Linux/Unix 一般和系统配置有关
        4. 其它:网络、网络协议、客户端等

QTP基本概念

  1. QTP概述

    1. 为什么功能测试需要做自动化?
      1. 功能测试存在大量的回归测试、大数据量测试。
      2. 自动化测试工具更高效、更严格。
    2. 功能自动化测试的条件:
      1. 需求相对稳定
      2. 冒烟测试通过
      3. 测试周期比较长
    3. 工具选型(常用PC端功能自动化测试工具):
      1. QTP(或叫做UFT)
      2. Selenium
      3. WinRunner
      4. QARun
      5. Robot
    4. QTP:Quick Test Professional,是HP公司的产品,是一款用于做功能自动化测试的商业软件,升级到11.5以后改名为UFT,教学环境里使用的是QTP10.0版本。QTP使用编码语言是:VBS(VBScript)QTP支持:关键字驱动测试、数据驱动测试。
  2. QTP使用

    1. QTP的启动:开始=》程序=》QTP=》QTP

    2. 插件管理对话框(Add-in Manager):

      1. 默认安装QTP时,有三个插件:ActiveX、Visual Basic、Web,但是还可以购买并加载更多的插件。
      2. 根据被测系统使用的技术来决定加载什么插件。
    3. 录制和回放(运行):

      1. 录制Record:测试工程师演示如果执行测试用例,QTP记录该过程为测试代码。
      2. 回放(运行)Run:QTP通过运行测试代码来自动在被测系统上操作来执行测试用例。
    4. 常用的配置:

      1. 恢复界面布局:QTP菜单=》Tools=》Options=》General=》点击“Restore Layout”按钮,点击OK。

      2. 调整运行速度方式:设置步骤间运行间隔时间。

        说明:QTP有两种运行模式,是Normal正常模式和Fast快速模式,建议选择Normal,并且设置步骤间的间隔时间为1000左右,单位是毫秒。

        注意:无法调慢速度,QTP需要安装DebuggerSetUp.exe

      3. 设置字号:QTP菜单=》Tools=>Options=>Fonts and Colors=>Size

      4. 设置专家视图是否显示行号:QTP菜单=》Tools=>Options=>General=》Show line numbers

      5. QTP界面中间位置显示的两个视图:

        1. 关键字视图Keyword View:用表格形式记录测试步骤。

        2. 专家视图Expert View:用VBS源代码形式记录测试步骤。

          这两个视图中的步骤是一一对应的。

      案例:计算器,123+456=

      C:\WINDOWS\system32\calc.exe

      Test1001

    5. 自动启动方式录制窗口类应用程序:—重点!

      1. 点击New来新建测试代码

      2. 关闭防病毒类软件、翻译类软件、被测系统。

      3. 点击Record

      4. 在弹出的Record and Run Settings对话框中:

        1. 将Web选项卡选择第一个单选按钮

        2. 将Windows Applications中选择第二个单选按钮

        3. 三个复选框保持默认第一个和第三个勾选

        4. 点击绿色小加号按钮,在弹出对话框中点击“…”按钮来浏览到被测系统的启动文件(xx.exe),其他选项保持默认,点击OK

        5. 点击“确定”

          注意:列表中不要添加多个相同应用程序。

      5. 在自动启动的被测系统中,按照设计好的测试用例文档中描述的步骤来操作。

        注意:不要做多余的操作。

      6. 点击Stop停止录制

      7. 点击Save或Ctrl+S,选择保存路径,输入测试代码名称,点击Save

      8. 先关闭防病毒软件、翻译类软件、被测系统后,点击Run,选择结果保存方式:

        1. New run results folder新建结果文件夹—默认选项

        2. Temporary run results folder临时结果路径(每次覆盖上次的结果)

          注意:运行过程中不要操作鼠标和键盘。

      9. 最后查看自动弹出的测试结果报告,Failed数为0代表正常。

Selenium概述

  1. Selenium是一款针对Web应用程序做功能自动化测试的工具。
  2. Selenium主要用于回归测试、大数据量测试、兼容性测试。
  3. Selenium优势:
    1. 开源免费
    2. 支持“三多”:
      1. 支持多种平台:Windows、Linux、Mac等。
      2. 支持多种浏览器:Firefox、IE、Chrome、Safari等。
      3. 支持多种编程语言:Java、Python、C#、Ruby等。
    3. 代码更小巧、简洁、灵活。
  4. Selenium劣势:
    1. 功能有限,不能测试C/S结构的被测系统。
    2. 几乎没有图形化界面,学习成本高。
    3. 有很多组件。
  5. Selenium组件:
    1. Selenium Core:核心,有由JavaScript代码组成的代码资源库。
    2. Selenium IDE:是Firefox的插件,有图形化界面,支持录制和回放,可以转换代码格式,适合初学者使用,功能有限。
    3. Selenium RC:是Selenium 1.0版本最主要的组件,支持“三多”,功能强大,没有图形化界面,公司使用很少。
    4. Selenium WebDriver:是Selenium 2.0和3.0版本最主要组件,支持“三多”,最流行。—重点!
    5. Selenium Grid:实现并行、分布式测试,提升测试效率。
  6. 初学者做自动化测试的流程:
  7. 在Firefox中使用Selenium IDE录制代码、调试。
  8. 转换代码格式为支持Webdriver的高级语言的格式。
  9. 利用高级语言语法和Webdriver API进一步增强代码。
  10. 集成JUnit或TestNG等单元测试框架来批量运行代码,查看测试结果。

你可能感兴趣的:(软件测试技术,软件测试)