浅析PHP官方自动化测试方法(一)

简介:本文将从一个测试人员的角度对 PHP 官方的自动化测试方法,自动化测试框架结构,以及具体 的实现进行分析和研究。通过实际的例子,向读者展示 PHP 是如何实现有效的自动化测试以保证其代码 高质量的。读者通过阅读本文,可以学习 PHP 官方自动化测试方法和实现,并将这种自动化测试方法应 用到自己的开发过程中,提高代码功能质量。

PHP 官方自动化测试方法简述

以下介绍以 PHP 最新官方版本 5.2.8 的源码在 LINUX 系统平台上的分析为例展开。首先来看一下 PHP 的自动化测试脚本 PHPT 脚本。

自动化测试脚本 PHPT 示例

PHP 的测试脚本是以“ .phpt ”为后缀,包含 TEST,FILE,EXPECT 等多个段落的文件,简称 PHPT 。在各个段落中,TEST,FILE,EXPECT 是基本的段落,每个测试脚本都必须至少包括这三个段落。其中 ,TEST 段可以用来填写测试用例的名字; FILE 段是一个 PHP 脚本实现的测试用例; EXPECT 段则是测 试用例的期待值。测试用例的运行中,PHP 将用被测试的 PHP 可执行对象去运行 FILE 段中的测试用例 ,用实际的结果去比对测试用例中 EXPECT 段所列的期待值;如果实际结果和期待值一致,则测试通过; 如果不一致,则测试失败。

表 1 列出的是常用的段落名和其相应的填充内容说明。

表 1. PHP 测试脚本中的段落说明

段落名 填充内容 备注
TEST 测试用例名称 必填段落
ARGS FILE 段的输入参数 选填段落
SKIPIF 跳过这个测试的条件 选填段落
POST 传入测试脚本的 POST 变量 选填段落。如果使用 POST 段,建议配合使用 SKIPIF 段,如:

--SKIPIF--

<?php if (php_sapi_name()=='cli') echo 'skip'; ?>

GET 传入测试脚本的 GET 变量 选填段落。如果使用 POST 段,建议配合使用 SKIPIF 段,如:

--SKIPIF--

<?php if (php_sapi_name()=='cli') echo 'skip'; ?>

INI 应用于测试脚本的 ini 设置 选填段落。例如 foo=bar 。其值可通过函数 ini_get(string name_entry) 获得。
FILE 测试脚本语句 必填段落。应用 PHP 语言书写的脚本语句。其执行的结果将与 EXPECT* 段的期待值做对比。
EXPECT 测试脚本的期待值 必填段落
EXPECTF 测试脚本的期待值,可用函数 sscanf() 中的格式表达期待值 EXPECT 段的变体
EXPECTREGEX 测试脚本的期待值,可用正则式表达期待值 EXPECT 段的变体
时间: 2024-09-17 04:17:59

浅析PHP官方自动化测试方法(一)的相关文章

浅析PHP官方自动化测试方法(二)

PHP 自动化测试框架的原理和实现 在清单 3中的运行示例中,实际的执行语句是 " $HOME/php-5.2.8/sapi/cli/php run-tests.php $HOME/php-5.2.8/sapi/cli/tests/001.phpt " .其中," 001.phpt " 是测试脚本:" run- tests.php " 为 PHP 测试的驱动脚本,是官方脚本:而 " $HOME/php-5.2.8/sapi/cli/ph

《移动App测试实战》——2.2 App UI层面的自动化

2.2 App UI层面的自动化 除了上面介绍的基于接口的自动化,App UI层面的自动化也是一个重要的自动化技术.可以帮助快速地进行App功能的回归.考虑到功能的变动和维护的代价,实际中投入产出比较高的方式是针对相对稳定的功能进行快速的回归.也可以和后面讨论的持续集成结合,做新构建的验证.除了功能的自动化验证之外,UI自动化技术还有一些其他的价值,比如第4章专项测试中介绍了使用UI自动化技术和云测试平台来构造一套高效的兼容性测试方案,以及基于模糊测试思路和UI自动化建立的App稳定性测试平台.

《软件功能测试自动化实战教程》目录—导读

内容提要 软件功能测试自动化实战教程 软件功能测试既是基础的软件测试领域,也是一个没有完全解决问题的领域,若要便捷有效地进行自动化功能测试是一件不简单的事情,为了帮助读者较好地进行自动化功能测试,特意撰写本书,本书的主要内容为:第一部分理念篇,主要包括软件测试概论.软件自动化测试.数据驱动测试技术.数据驱动测试技术的特点.数据驱动的自动化测试框架.数据驱动测试中的参数化技术.数据驱动测试的应用.关键字测试技术.关键字驱动测试特点.关键字驱动的自动化测试系统实现等:第二部分GUI测试篇,包括Uni

腾讯Android自动化测试实战

腾讯Android自动化测试实战 丁如敏 盛娟 等著 图书在版编目(CIP)数据 腾讯Android自动化测试实战 / 丁如敏等著. -北京:机械工业出版社,2016.10 ISBN 978-7-111-54875-1 Ⅰ. 腾-   Ⅱ. 丁-   Ⅲ. 移动终端-应用程序–程序设计   Ⅳ. TN929.53 中国版本图书馆CIP数据核字(2016)第223713号 腾讯Android自动化测试实战 出版发行:机械工业出版社(北京市西城区百万庄大街22号 邮政编码:100037) 责任编辑:

腾讯Android自动化测试实战导读

前 言 Preface 为什么要写这本书 早在2010年年底,我们团队就有出一本关于移动互联网测试书籍的计划(那时候移动互联网测试书籍基本没有),当时计划的内容涉及面比较广,涵盖测试设计.测试用例管理.测试流程.自动化测试.专项测试等领域.不过,由于各种原因被搁浅,确实有点儿可惜,否则移动互联网测试国内的第一本书当时就面世了.这次终于又有机会整理这些年的测试经验并形成一本书了,借此可以跟业界的同行一起交流切磋. TMQ(Tencent Mobile Quality)腾讯移动品质中心,是腾讯内部最

客户端开发设计总结

1 基础设施 程序最基本的处理就是数据IO以及为了并行计算所做的操作,它们通常会作为程序的底层框架,供上层使用. 2 交互 从PC到现在的移动设备还有VR,人机交互中的输入设备在不断自然化,可是展示界面的元素仍然还是这几种:静态文本.按钮.列表.输入框.选择菜单.进度提示.滚动条.标签页.每种UI框架都提供这些基本组件,可以说掌握它们就等于对这个框架入门了.高级的交互会跨越窗口.跨越程序,并能更智能化地响应输入. 3 硬件设备 PC上的硬件大都需要通过统一的接口来操作,开发者需要做好繁复的参数设

Monkey:Android下的自动化测试工具

最近开始研究Android自动化测试方法,整理了一些工具.方法和框架,其中包括android测试框架,CTS.Monkey. Monkeyrunner.benchmark,以及其它test tool等等. 一.什么是Monkey Monkey是Android中的一个命令行工具 ,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在 开发的应用程序进行压力测试. Monkey测试是一种为了测试软件的稳定性.健壮性的快速有效的方法. 二.

诊断Java代码: Liar View错误模式

Liar, liar! 设想一下:您已经为一个分布式系统精心设计了一个极好的 GUI 程序,它包含了客户机请求的所有东西及其它一些东西.您已经让它运行通过了一个自动化测试套件的测试 ― 由于不变量的数量是个天文数字,因此,自动化测试是必须的.测试的结果是程序获得了一张"无错误的健康证明书". 发布这个 GUI 的期限到了,但是,作为一个象您这样严格的程序员,只是为了发现错误的行为 ― 本该在自动化测试中就被捕捉到的行为,您启动了程序,对它做最后一次手工测试.但愿您能够避免这种情形.真的

阿里Java代码规约插件即将全球首发,邀您来发布仪式现场

别人都说我们是码农,但我们知道,自己是个艺术家.也许我们不过多在意自己的外表和穿着,但我们不羁的外表下,骨子里追求着代码的美.质量的美.而代码规约其实就是一个对美的定义. <阿里巴巴Java开发手册>系统性地从编程.数据库.异常日志.工程结构.安全.单元测试六大方面,总结出优秀Java开发者必备的技术素养.时值手册发布一周年之际,阿里官方对外正式公开<阿里巴巴Java开发手册>终!极!版!!!   该版本将是阿里官方对外释放的最后一个PDF版本,也是史上内容最全.修正最为彻底的一个