测试开发
测试开发之自动化篇-禅道ZTF自动化框架设计
在前面的文章中,我们介绍了自动化测试框架设计有关的内容。实际工作中,我们通常没有必要从头开始造轮子,而是可以基于一些开源项目,实现适合自己公司业务的测试框架。
禅道团队在设计ZTF开源自动化测试框架时,我们希望它可以满足以下几个目标:
学习成本低,一节课时间即可上手;
尽量减少对公司现有测试资产的侵入;
免安装,下载后解压即可用;
支持流行的各种脚本编程语言;
兼容主流的自动化测试框架;
丰富的命令行参数,以方便在持续集成工具中使用;
自带一个简洁、易用的客户端;
支持各种主流操作系统;
可以和公司现有研发管理系统很好地集成。
...
2022-09-02
测试开发之自动化篇——自动化测试框架设计
今天,给大家介绍如何进行自动化测试框架的设计。这里所说的框架,是建立在一些主流类库、框架或工具的基础上的,自行研发的、适合公司的自动化测试资产。
如今有很多UnitTest测试框架,已经提供了数据驱动、用户并发、断言、报告等优异的特性,完全可以被用来进行单元测试之外的功能、性能、接口等方面的测试,建议大家可以基于他们来实现。
这里给出我们建议的、自动化测试框架的分层结构,下面将围绕此给大家逐一做介绍。
测试用例脚本
在此实现业务的自动化测试,这一层面的脚本同手工测试用例具有最直接的对应关系。
公共业务脚本
一些提取出的、可在业务层面复用的函数、类库或脚本。比如网上购物系统的...
2022-09-01
测试开发之自动化篇-禅道自动化测试集成
禅道是一款国产的开源研发项目管理软件,基于敏捷和CMMI管理理念进行设计,完整地覆盖了项目管理的核心流程。根据国内权威测试网站51Testing的《2021软件测试现状调查报告》显示,禅道已连续七年在"常用的测试管理工具”中排名第一。
在前面的专题文章中我们认为,随着持续集成和DevOPS的流行,自动化测试已经成为了研发活动中的不可或缺的一个重要环节。甚至可以说,没有成熟的自动化测试,持续集成和DevOps都不可谓之为成功。
本文给大家介绍如何将第三方的自动化测试工具同禅道进行集成,打造一个一站式的完整研发管理平台。内容基于禅道16.5版本,更早的版本请参照...
2022-08-30
测试开发之前端篇-浏览器开发者工具使用
Chrome开发者工具是浏览器內置的、用于对网页浏览有关的内容和行为进行查看和调试的工具。可使用快捷键Ctrl + Shift + J ( 在 Mac 上使用 Cmd + Opt + J) 打开,他显示在浏览器的底部,包涵了以下几个Tab的功能。
Console 控制台
用于查看日志和调试JavaScript脚本。以上是百度首页的控制台,大家可以发现开发者用日志的形式打印了一条招聘信息。
在控制台底部的最后一行,我们可以输入一些JS命令来执行。
Elements 元素查看器
展示当前网页的HTML代码。在网页中,右击某个控件,选择检查,可显示此控件的源代码;在源代码窗口,选中某个控件...
2021-10-19
测试开发之前端篇-JavaScript脚本语言
由于是测试有关的文章,我们不会详细介绍JavaScript开发技术的方方面面,而是从软件测试的角度,给大家分享一下JavaScript(下称JS)的相关内容。
不同于PHP、JSP等传统Web技术,会在服务器端生成网页,现今流行的前后端分离架构下,大家浏览网站时看到的页面,是由下载到浏览器里的JS代码(包括脚本和编译成了JS形式的模板),在客户端的电脑中渲染而成的。以上是一个简化了的示意图,展示了前后端分离架构下网页的生成过程。有关Http和WebScockt,可参照前面的应用层协议的文章。这里只要知道,浏览器通常使用Http协议从服务器”拉取“资源,可通过WebSocket协议双向”推...
2021-10-19
测试开发之前端篇-HTML超文本标记语言
前面的文章中,给大家介绍了一个标准HTML页面的组成部分。为更好地掌握这些内容,建议大家阅读HTML标签参考手册,并使用其中的”动手试一试“的功能,直观地体验下这些元素所展示的内容。
HTML是Web自动化测试和网页设计的一个基础,上述教程已经做的很完善,大家阅读一遍,有个基本的了解即可。后续学习中如遇到不明白的地方,可当做手册来查询。
2021-09-03
测试开发之系统篇-Docker容器安装
前面文章我们讲到,容器是运行在宿主机上的一个进程,多个容器之间使用同一个宿主机上的操作系统内核。此处以Ubuntu20.04系统为例,介绍Docker容器引擎的安装过程。
安装
安装依赖。
sudo apt update sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
...
2021-07-20
测试开发之系统篇-按需创建测试虚拟机
首先,我们来了解一下KVM虚拟机有关的几个概念和工具。
kvm:基于内核的虚拟机(引擎)
qemu:用于模拟虚拟机IO设备
qemu-img:虚拟机磁盘管理工具
libvirt:虚拟化服务的API接口
virsh:基于libvirt实现的命令行工具
qemu-manager:图形化管理工具
新建KVM虚拟机时,可以指定另一磁盘文件作为BackingFile。BackingFile是一个只读的虚拟磁盘基础映像,可以在多个虚拟机间进行共享。基于BackingFile创建和运行虚拟机时,只会在自己的磁盘文件中增量地写入文件,从而提高效率、节省磁盘和维护成...
2021-06-21
测试开发之系统篇-安装KVM虚拟机
虚拟机(Virtual Machine)和容器(Container)是两种流行的虚拟化技术。
虚拟机模拟机器的硬件,包括了完整的操作系统和应用,它一旦被开启,预分配给它的资源将全部被占用。容器是运行在宿主机上的一个进程,多个容器之间使用同一个宿主机的操作系统内核。容器相对于虚拟机启动更快、占用资源更少,但隔离和安全性要弱于虚拟机。
测试人员为了准备不同的测试环境,往往使用可视化的VMWare、VirtualBox软件,来模拟不同的操作系统和浏览器。本文介绍另外一种Qemu+KVM的虚拟化解决方案,通过它在自动化测试中,我们可以使用命令行,按需地自动创建、销毁和管理虚拟测试机。另外,...
2021-06-09
测试开发之系统篇-常用系统命令
以下介绍测试工作中常用的一些命令。未专门标注的,为Linux和Mac系统下的。
查看占用端口的进程
Linux
aaron@ubuntu:~$ lsof -i :8085 | grep LISTEN
___server 69080 aaron 11u IPv6 0x5624b7cdebdb6b7b 0t0 TCP *:8085 (LISTEN)
Windows
C:>netstat -aon | findstr :80 | findstr LISTENING
TCP 0.0.0.0:80 0.0.0.0:0 ...
2021-05-28