• 移动开发技术(三)


    禅道工具的使用

    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)

        版本: ReleaseVersionsBuild

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

        步骤:

        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 FilesJavajdk1.6.0

          路径:C:Program FilesJavajdk1.6.0

          %JAVA_HOME%in;

        4. 安装Badboy工具录制脚本

        5. 总结:

          1. Jmeter:性能测试工具

            启动:在Jmeter安装文件下的bin目录中,双击jmeter.bat文件即可C:Jmeterapache-jmeter-2.12injmeter.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:WINDOWSsystem32calc.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等单元测试框架来批量运行代码,查看测试结果。
  • 相关阅读:
    IE安全级别没法定制
    将应用部署到Websphere的context root根/
    SqlServer插入慢的问题解决
    SqlServer中用@@IDENTITY取最新ID不准的问题
    分享我的戒烟经验
    Telnet发邮件过程
    .net垃圾回收和CLR 4.0对垃圾回收所做的改进之三
    Please pay more attention to the character set of your database
    翻旧贴: 什么是对象?
    C# Code in ASPX Page
  • 原文地址:https://www.cnblogs.com/jwxdzxj/p/12592898.html
Copyright © 2020-2023  润新知