文档章节

Web应用程序整体测试基础——单元测试

kouxunli1
 kouxunli1
发布于 2014/03/05 11:17
字数 874
阅读 63
收藏 1

近年来,随着基于B/S结构的大型应用越来越多,Web应用程序测试问题也在逐步完善中。但Web应用程序测试既可以在系统开发中实施,也可以独立于系统单独完成,这取决于Web应用程序的复杂性和多样性。同时程序整体测试工作也是一个庞大的工程,而要完成大工程目标,基础是必不可少的。

系统开发中,功能模块是指导完成目标的大纲。程序整体测试大致包括功能测试、性能测试和安全测试,其中功能测试是前提。结合系统开发与程序测试,不难看出单元测试作为功能测试核心,便是程序整体测试的基础。

单元测试通常是指对程序中最小可测试单元就行验证和检查,甚至是指一个函数或类。Web应用程序中的单元测试,这可以看着是对一段有明确功能的代码,这个功能是依附于功能模块需求的。

程序员大多擅长编程,而对程序测试或单元测试不注重,甚至不理解。惯性的程序员思维是可以正常运行作为不测试的借口。而对单元测试的藐视,将会直接导致程序上市推迟。理由便是积少成多的程序BUG,众多的BUG也是性能测试与安全测试的拦路者。因此程序员懂得单元测试,并用于时时功能开发中是很有必要的。

市面上有很多帮助程序员在开发中完善代码,辅助测试的工具。Web应用程序因其开发语言众多,工具也是繁多。但作为程序员应该或多或少会使用这些工具。

对于代码生成器理解,多数程序员是有抵抗情绪的,因为很多程序员理解这是方便开发了,可傻瓜化了思维。就我理解,这是庸人自扰的表现,优秀的代码更利于理解和集成,对于傻瓜化思维的说法,是不成立的。对于市面上优化的工具使用(如ReSharperJustCode )结合代码覆盖工具(如IntelliSpell、PureCoverage)来做会更完美。

PS:很多这方面的工具,程序员可以根据自己开发语言来选择。

程序员编程中,对功能的单元测试。除了资深工程师能结合需求与环境来就行多样性单元测试,其他程序员借助工具也是能完成的。借助工具(如Parasoft旗下产品)能及时防御并发现错误,并能测试功能代码与数据库表的关系机制,实现优化。

值得注意的是,Web应用程序的高速发展,对开发者来说是挑战也是机遇。而完善测试机制是重要筹码。程序员更是要理解单元测试的重要性,作为整体测试的基础,当然是越牢固越好。


© 著作权归作者所有

共有 人打赏支持
kouxunli1
粉丝 24
博文 144
码字总数 59616
作品 0
九龙坡
架构师
私信 提问
Java程序单元测试工具对比——Parasoft Jtest与Junit

Web应用程序开发中,面向对象的Java语言占了不少的比重。对于Java应用程序的测试方法或方式多种多样,比较典型的是程序员自己来完成程序测试中的一个部分——单元测试。 之前,慧都资讯提到单...

kouxunli1
2014/03/05
0
0
如何高效进行白盒单测

之前为写了写单元测试的基础原理和简单的环境调试,这次就简述一下在进行单元测试是需要注意的东西和基础框架。 首先,要做好单测,首先要捋清楚开发的代码结构,为成功搭建单测环境奠定基础...

fiawfo
2016/11/23
60
0
Angular 与 jQuery 两者的适用性

AngularJS 与 jQuery 在Web应用开发上走的是不同的路。 jQuery 完全是通过显式操作浏览器中的 DOM 来创建应用程序。 AngularJS 采用的方法则是将浏览器吸收为应用程序开发的基础。 毫无疑问,...

yangji008
2016/08/28
0
0
学习PHP精粹,编写高效PHP代码之自动测试

如果要制造出完美的产品,必须对它进行全方面检验测试。这里有几种类型的测试,每一种测试都针对应用程序的某个具体方面。 本文将对单元测试、数据库测试、系统测试、负载测试进行介绍。 一、...

风格时光
2014/06/08
0
0
前端进阶之路: 前端架构设计(3) - 测试核心

可能很多人和我一样, 首次听到"前端架构"这个词, 第一反应是: "前端还有架构这一说呢?" 在后端开发领域, 系统规划和可扩展性非常关键, 因此架构师备受重视, 早在开发工作启动之前, 他们就被邀...

Lee_tanghui
2017/12/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Win10:默认的图片打开应用,打开图片时速度明显很慢的解决办法

首先,我们随便地打开一张图片。然后,点击右上角的三个小点,最后点击弹出菜单最下面的“设置”。如下图: 在“设置”中找到下面的“人物”,把它关掉就好了。 原来,默认情况下,Win 10的图...

LivingInFHL
45分钟前
2
0
js代码激发onchange事件,兼容谷歌火狐IE

var el = document.getElementsByName('role')[0]; el.value = '3'; var evt = document.createEvent("HTMLEvents"); evt.initEvent("change", false, true); el.dispatchEvent(evt);......

我退而结网
59分钟前
3
0
mysql客户端报错:libmysqlclient_16 not defined in file libmysqlclient.so.16

报错情况: 安装完mydumper之后(上一篇文章),登陆Mysql客户端报错:version libmysqlclient_16 not defined in file libmysqlclient.so.16 with link time reference 同样:mysql的其他客...

machogyb
今天
1
0
MySQL 数据库中间件 安装部署测试全过程

1、环境准备 1.1、操作系统环境 [root@MyCat conf]# uname -aLinux MyCat 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux 1.2、关闭SELIN......

PeakFang-BOK
今天
6
0
Linux Mysql 安装

https://www.cnblogs.com/xinjing-jingxin/p/8025805.html

流氓兔-
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部