代码性能测试

来源:互联网 发布:取消映射网络驱动器 编辑:程序博客网 时间:2024/06/18 17:42
对代码进行测试是项目在发布前必不可少的环节,需要保证产品的可用性、易用性、健壮性和安全性。
这也是产品测试要达成的目标。软件测试一个大的方向,专业性很强。这里,我们只介绍一些基本测试方法。
1. 时间点测试
性能测试的主要目的是测试代码的执行效率,找到瓶颈进行优化。性能测试最常用的办法就是利用时间点,计算一段代码在运行前和运行后的时间差。代码一般是这样写的,如下:
<?php
$btime = microtme(true);
//实际要测试的代码
$etime = microtime(true);
echo $etime-$btime;
?>
如果运行的代码本身属于耗时较少的代码,只运行一次测试的结果显然不可靠,往往是要运行很多次。
比如运行10000次后取平均值的办法来计算平均耗时。
2. 单元测试
单元测试,又称为模块测试,它是针对程序模块(软件设计的最小单元)进行正确性检验的测试。
程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象的编程,最小单元就是类的方法。
单元测试是开发者编写的一小段代码,用于检验代码一个很小的、很确切的功能是否正确。一般来说,一个单元测试用于判断某个特定条件(或者场景)下某个特定函数的行为。单元测试是由程序员自己完成,最终受益的也是程序员自己。可以说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是证明这段代码的行为和期望的一致。
单元测试具有很多优点,比如可以提高代码后期的可维护性。我们可以把程序设计成易于调用和可测试的,也就是迫使解除软件中的耦合。另外,自动化的单元测试避免代码出现回归,编写完成之后,可以随时随地快速运行测试。
PHPUnit是一个轻量级的PHP单元测试框架,是PHP5对JUnit3系列版本的完整移植,是xUnit测试框架家族的一员。安装PHPUnit之前,需要确保系统中已经安装了PHP的pear包。PHPUnit官方指定通过pear包管理器安装,也可以下载源码包放在指定目录安装,但是配置比较麻烦。因此,推荐采用pear方式安装。
pear是PHP Extension and Application Repository的缩写,即PHP扩展与应用库,它是一个PHP代码包的分发和管理工具,类似Linux系统的rpm包管理器,pear为PHP提供了一些可以复用的组件和库。
3. 断言
断言就是假设表达式为真,如果表达式为真,则断言成功;否则,断言失败。
编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设,可将断言看作是异常处理的一种高级形式。断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式为的值为真,可以在任何时候启用和禁用断言验证,因此,在测试时启用断言而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。
断言是任何xUnit框架的核心,PHPUnit中有30多个断言。PHP中也内置了断言函数assert()。下面是一个示例:
<?php
$arr = array(1, 3, 5);
assert(array_search(3, $arr));
assert(3==4);
?>

0 0
原创粉丝点击