func GetAllFiles(dirPth string) (files []string, err error) {
另外一个就是路侧停车位的管理,之前的方案在外场要感知车位是否被占用,一般通过地磁感知,成本非常高,系统可靠性也是问题;基于图象的识别则可以很好的解决这个问题,一台摄像机即可监控和感知一大片区域的停车位是否被占用
这段话很好地阐述了Pytest的设计思想与强大的特性,Pytest测试框架有很多优秀的特性,本文章详细的阐述下Pytest测试框架执行中针对被执行的TestCase测试环境地址的管理。 Pytest环境变量管理 在编写的测试用例代码中,测试地址往往与测试代码写在一起,从代码维护的角度而言并不是那么的友好,针对TestCase中的请求地址或者测试地址等,可以使用config配置文件分离到 YAML文件中,或者可以使用Pytest测试框架提供的第三方插件分离到Pytest测试框架本身的配置文件中,在Pytest测试框架中可以使用pytest-base-url的插件来分离测试过程中的地址信息 还有第二种方式是把测试地址写在pytest.ini的配置文件中,把测试地址分离到pytest.ini配置文件内容如下。 ,具体实现的思路就是针对不同的环境可以使用不同的pytest.ini配置文件,比如pytest-qa.ini、pytest-dev.ini,为了统一的管理,把配置文件统一存放在config的文件夹下,具体如下图所示
/env .yml"))) 七、测试报告定制 Allure测试框架 allure是一个轻量级,灵活的,支持多语言的测试报告工具;多平台的,奢华的report框架; 可以为dev/ qa提供详尽的的测试报告 、测试步骤、log; 也可以为管理理层提供high level统计报告; Java语言开发的,支持pytest,JaveScript, PHP, ruby 等可以集成到Jenkins Allure报告预览 Allure安装 windows / mac通用安装方法 https://github.com/allure-framework/allure2/releases下载allure2.7.zip包 brew安装: brew install allure 官网:http:// allure.qatools.ru/ 文档: https:// docs.qameta.io/allure/# 使用Allure2生成漂亮的报告 场景 通常测试有PO、冒烟测试、验证上线测试。
/* Golang语言社区(www.Golang.Ltd) 作者:cserli 时间:2018年3月2日 */ package main import ( "LollipopGo/library
接着上篇,这次引用python自带的测试框架去优化代码,下面我们开始 一、引用unittest测试框架(单一测试用例) 代码示例 #! = '裤子女夏' - 裤子男夏季 + 裤子女夏 ---------------------------------------------------------------------- Ran 2 为程序运行的总入口(其中文件夹下的__init__文件是格式自带,默认不做任何修改即可) 2、config.py配置文件: #! /usr/bin/env python # -*- coding: utf-8 -*- # @File Name: interface_post_test2.py # @Time : 2019/8 ===================================================== FAIL: test_login (testcase.interface_post_test2.
shsfglmb;flgb dghsgfhsdfgh ('## shsfglmb;flgb shsfglmb;flgb shsfglmb;flgb shsfglmb;flgb shsfglmb;flgb shsfglmb;flgb dghsgfhsdfgh ('## shsfglmb;flgb shsfglmb;flgb shsfglmb;flgb shsfglmb;flgb shsfglmb;flgb shsfglmb;flgb dghsgfhsdfgh ('## shsfglmb;flgb shsf
1 测试用例定义测试用例(TestCase)为测试对象编制一种测试输入、执行条件和预期结果;用例可以体现测试方案、方法、技术和策略;用例的内容一般包含:# 测试对象名称# 测试项# 测试目标# 测试环境 2 测试用例设计原则测试用例应覆盖三类事件:# 1、基本事件:根据需求需要实现所有功能的测试用例,覆盖率达到100%;# 2、备选事件:程序执行中的备选情况;# 3、异常事件:程序执行出错处理的路径。 6 用例管理工具用例管理的工具有很多,比如1、PingCode;2、TestRail;3、TestLink;4、Jira;5、PractiTest;6、PractiTest;7、Zephyr Enterprise 一般为致命、严重、一般、提示、建议;有的也分A、B、C、D等紧急程度从1到4,最高为1级 缺陷类型功能缺陷、界面设计缺陷、安全性、接口、性能、数据等缺陷 提交人 缺陷的提交人员,便于缺陷复现、跟踪和管理所属项目或模块明确缺陷的所属解决人一般为对应的开发人员 9 缺陷管理工具之前提到的用例管理工具同样适用缺陷管理:1、PingCode;2、TestRail;3、TestLink;4、Jira;5、PractiTest;6、PractiTest;7、Zephyr
说明:很早之前写过一篇文章“软件测试版本管理与版本发布”,之前作者也按文章中所述执行过,但是随着工作经历的增加,对代码管理认识的加深,发现还是有不足的地方,特别是敏捷模式下,因为缺乏“自动化版本管理 之类 每个公司都有自己的规定,可能只是其中的部分,比如 主版本号.次版本号.修订版本号 版本命名格式 这里的版本,主要是针对我们测试来说的,因为我们提交缺陷,需要填写测试版本,方便缺陷管理、分析统计 ,我们需要在缺陷管理上新建测试版本。 而开发通常有代码管理工具比如svn,管理组织他们的代码 项目名称_版本号格式[_Tx][_版本类型] 说明: 版本号格式:通常,主版本号.次版本号.修订版本号 Tx:表示测试轮数,比如T1表示第一轮 ,T2表示第二轮,在敏捷模式下,开发可能动不动就提交代码,这种情况下,轮次界定就没多大意义了,还有就是碎片化问题,比如你测完一轮,还有2个bug,测第二轮如果新建一个T2版本,如果测完还有1个没修复,还得再新建一个
我喜欢测试计划,它能让团队清楚测试进度,还能妥善分配测试人员,更重要的是它能保证测试质量和效率。Azure DevOps 里提供了 Test Plans 这个模块用于管理测试计划。 1. Azure Test Plans 中的测试计划、测试套件和测试用例 这篇文章主要讲解 Azure Test Plans 中怎么管理测试计划、测试套件和测试用例。 在 官方文档 中这三者的定义如下: 测试计划(Test Plan): 用于对测试套件和单个测试用例进行分组。 测试套件(Test Suite): 在单个测试计划中将测试用例分组为单独的测试方案。 这三者之间,以及它们与 Azure DevOps 中其它对象之间的关系如下图: 2. 创建测试计划 为了演示如何使用测试计划,我先创建了一些迭代,并添加了一些 PBI。 最后 Azure Test Plan 还有几种方式管理测试用例和测试套件,例如导入导出到别的测试计划,或通过 Excel 导入和导出,还可以使用 Grid 的方式管理测试用例,具体可以参考 Azure
分类 Monkey测试针对不同的对象和不同的目的采用不同的测试方案,首先测试的对象、目的及类型如下: 测试的类型分为:应用程序的稳定性测试和压力测试 测试对象分为:单一apk和apk集合 测试的目的分为 :解决问题的测试(忽略异常的测试)和验收测试(不忽略异常的测试) 二. 例如: monkey -p com.android.mms --throttle 1000 -s 100-v -v -v 15000 > /mnt/sdcard/monkey_test.txt & (2) ignore-security-exceptions--ignore-native-carshes --monitor-native-crashes -v -v -v 15000 >/mnt/sdcard/monkey_test.txt & 2. pkg-whitelist-file /data/whitelist.txt--throttle 1000 -s 100 -v -v -v 15000 > /mnt/sdcard/monkey_test.txt & (2)
基于风险的测试包含四个主要活动: 1、风险识别 2、风险评估 3、风险缓解 4、风险管理 要想取得最佳的效果,风险识别和评估小组应包括所有项目和产品干系人的代表,不过有时项目的实际情况导致某些干系人代理其它干系人 由于测试人员在产品质量风险和失效方面的专长,他们应该积极参与风险识别和评估过程 一、风险识别 干系人可通过下列的一项或多项技术来识别风险: 1、专家咨 2、独立评估 3、使用风险模版 4、项目回顾 5、 这样做可以降低风险的级别,可能意味着缓解残余质量风险所需的测试数目减少。 四、生命周期中的风险管理 理想情况下,在整个生命周期期间都在进行风险管理。 如果组织有测试方针文档和/或测试策略文档,这些文档中应当描述测试中管理产品风险和项目风险的一般过程,以及风险管理怎样集成到测试的各个阶段中,并使其发挥作用。 基于风险的测试使得测试人员能以剩余风险级别的方式向管理层报告当前测试状态,让管理层决定是否要增加测试时间或将剩余的风险转移给用户/客户、服务/技术支持人员和/或运营人员。
第二部分给大家安利一个“接口管理平台”,以帮助大家解决接口文档维护、接口测试数据Mock、接口自动化测试等问题。希望对小伙伴们有用。 言归正传,进入今天的话题。 ? 二、接口管理平台 痛点分析: 目前接口测试和文档维护主要有以下几个痛点: 1、文档维护非常耗时,开发&测试同学投入不少精力; 2、接口测试数据Mock不方便; 3、接口自动化测试不好做,成本高。 为此我们调研了业界测试平台的现状: ? 非常明显,YAPI的功能最齐全,也就是我们今天要安利的对象。它可以称为接口测试和管理“一站式”平台。 接口测试和管理现状: ? YAPI的解决方案: ? YAPI的几个功能特色介绍: 1、接口文档功能:后端开发&前端开发&测试共同维护同一份接口文档,减少文档维护的成本,保证文档的统一性; 2、拥有强大的Mock功能: ? 3、接口自动化测试功能: ? 测试阶段可以直接在接口管理平台上进行测试,上线后可以配置在服务端对接口进行自动化测试,实现监控功能。
软件测试:管理篇 本节内容 测试需求分析和测试策略制定 测试方案的设计 测试执行流程的设计 测试报告的输出(在系统测试阶段) 测试策略制定 需求,是软件设计与测试的来源。 黑盒、灰盒)去进行测试。 案例: 思考案例: 1. 一个全新上线的app需要做哪些测试? 答: 从需求规格说明书里提取信息。 2. 一个增加了新功能的app需要做哪些测试? 测试策略的具体实施 测试策略需要确认测试使用的测试技术、测试过程的管理和控制、测试团队的组建。 根据测试的需求,选择测试技术; 在测试方案中,需要确认测试过程如何管理,确认管理使用的工具和方法。 测试过程的管理:即是测试流程,不同公司的流程是不一样的。 测试方案主要包括: - 测试范围:由需求分析而来 - 测试策略:包括针对不同部分的测试方法、测试用例 - 测试控制:包括测试流程,测试执行,缺陷跟踪 - 其他:环境、版本管理(配置管理和变更管理
RabbitMQ里有一个vhost的概念,和其它软件中的vhost不太一样,在Apache中是表示一个虚拟的站点,而在这里是表示一个命名空间和权限集合
不管是哪种情况,实际项目在测试进行中,以上不同的角色,以及对应的各个团队 leader,甚至公司或部门管理层,都希望及时看到工作的进展,以及遇到的问题和风险。 测试进度报告:在测试阶段中间发出,告知测试工作的进度,发现的问题、风险,以及接下来的计划。 还有的项目进行了专项测试,针对某个模块的测试,除了基本的黑盒功能测试之前,可能还需要进行其他针对性的测试,我们称之为专项测试,具体的专项测试内容和做法将在本书的后续章节展开讨论,这里为了便于说明,只简单列举部分测试类型 ,比如:兼容性测试、流量测试、电量测试、弱网络测试、代码覆盖率测试。 实际中报告的具体信息可以根据团队项目管理的要求来做调整。
Swagger2综述 Swagger是一款Restful 接口的文档在线自动生成、功能测试框架。 Swagger-UI 是一款Restful接口的文档在线自动生成+功能测试功能软件。 目前官方提供的Swagger-UI 的使用方式主要有2种: 与不同的服务端代码集成,在服务端代码中嵌入SwaggerUI文档生成代码,部署时自动生成。 点击需要访问的API列表,查看接口详情,点击 tryitout按钮测试 ? 执行测试 ? 服务端返回结果 ? Swagger使用的注解及其说明: @Api:用在类上,说明该类的作用。 对于测试人员,有了这份API文档也是一目了然,不需要和后端多少沟通成本,按着API说明进行接口测试脚本开发即可。
如上述,接口功能:课程检索 2.理解接口参数 对每个参数都要明白它们各自的含义。除了接口文档上简单的说明,还必须理解它真正的作用。 4.寻找测试点 记住, 一、主要是基于步骤2(输入)、步骤3(输出)的 根据步骤挖掘测试点和测试数据 举例: 测试点:查询内容k(类型>中文,英文大小写,数字,特殊符;长度>是否字数限制;是否可为空 注意: 1、一和二中有些是交叉的,他们的关系是互补关系 2、要知道测试是不能穷尽的,要时间成本投入的,如果每个参数每种情况都要细致测的话是要花很多时间的。 所以,要折中考虑,考虑测试数据是否意义,适当的取舍,特别是时间有限的情况下。 5.根据测试点设计用例 这个和功能设计用例一样。 6.测试方法 功能测试用例设计方法都适用
性能测试必知名词 QPS:每秒查询率 RPS:每秒用户请求率 HPS:每秒用户点击率 后面的我再介绍 性能测试流程 需求分析——熟悉业务 明确性能测试指标 了解整体软件功能、架构 制定测试计划,做好工作量评估 编辑测试用例 搭建环境(包括监控)、脚本开发 执行测试 测试结果分析与调优 分析依据:结果图表 分析思路:服务器硬件瓶颈->网络瓶颈->服务器OS瓶颈(参数配置、数据库、web服务器)->应用瓶颈(SQL 语句、数据库设计、业务逻辑、算法) 输出测试报告与结果跟踪
---- UI Automator UI Automator测试框架适合跨系统和已安装应用的跨应用功能性 UI 测试。 UI Automator 测试框架非常适合编写黑盒自动化测试,其中的测试代码不依赖于目标应用的内部实现详情。 调用UiObject对象的方法,模拟用户操作,重复2,3完成一系列用户操作。 测试UI状态是否符合期望。 使用childSelector()方法可以查找到的控件的子空间里面的元素,参数也是一个UiSelector对象(示例2)。 使用资源ID作为条件是最稳妥的方式。 除了功能测试和UI测试外,常用的测试还有压力测试,Android SDK自带的测试工具Monkey,可以先系统发送伪随机的用户事件流,实现压力测试。