B/S架构的系统,都会使用如下的基础软件架构:

数据访问层:实现对数据的访问功能,如增加、删除、修改、查询数据。

业务逻辑层:实现业务的具体逻辑功能,如学生入学、退学、成绩管理等。

页面显示层:将业务功能在浏览器上显示出来,如分页显示学生信息等。

在实际项目中,可能会根据情况在业务逻辑层增加层级,对于软件测试,也无非是针对这3层架构进行的测试或者测试过程中都会涉及到这3层架构。

数据访问层:

1. 常出现的问题可能是数据库字段长度不正确,导致保存的数据被截断或提示错误。

2. 写入的数据正确性。

3. 还常会出现开发人员数据库操作时对表名和字段名书写错误导致功能失效。

4. 部分功能在需要确保一切都没有问题时才完成更改,这时需要涉及到对事务处理的正确性。

5. 对数据库层的exception处理。

6. 数据库设计不合理导致性能问题,如数据库完整性设计不合理,垃圾数据累积导致性能下降,索引的设计等。

业务逻辑层:

1. 需求制定时的漏洞,不够严密,导致开发的代码有业务需求方面错误。之前有个经历就是一个不懂软件的老板最初在制定需求时,没有删除数据的功能,但是后来需要增加删除数据功能,可是未经过需求评审,开发完成后,提交测试,对基础数据删除后,引用该数据的模块都无法正常工作

2. 业务逻辑和流程与需求不符合,归结为开发人员对需求的理解不透彻;

3. 其他一些需求没有达到要求,如安全,提示信息的标准,性能等;

4. 编码错误。主要包括局部数据结构错误(变量初始化,地址溢出等等),边界条件错误,模块接口错误,代码独立路径错误,异常处理不恰当等等,这就涉及到详细的单元测试和集成测试了;

5. 软件设计构架导致的错误,如缓存机制等等,需要从性能和时效性两方面着手考虑,否则提交的数据不能被及时看到。

页面显示层:

1. 前端JS错误,如长度或格式校验错误等等;

2. 本地化错误,如用户使用习惯不同导致的错误,多语言翻译错误等;

3. 页面展示,如内容显示不全,显示错误,界面颜色不匹配;

4. 易用性不好,如页面导航错误,提示语不友好,不易学等;

5. 兼容性错误,如分辨率兼容,浏览器兼容,键盘以及OS的兼容问题。

在平时的测试工作中,也经常会遇到除此之外的问题,如配置类的错误,包括web服务器的配置,网站config的配置等。这些均会影响到软件的可用性。

转:从web三层架构解析软件测试内容的更多相关文章

  1. 关于WEB三层架构的思考

    1.MVC设计思想 MVC程序设计思想是眼下比較流行的WEB开发的模式,当中,M(model)是模型.即JavaBean,用来封装和保存数据:V(view)是视图,即JSP.用来显示内容:C(cont ...

  2. 简单的web三层架构系统【第二版】

    昨天写了 web三层架构的第一版,准确的说是三层架构的前期,顶多算是个二层架构,要慢慢完善. 第一版里,程序虽说能运行起来,但是有一个缺陷,就是里面的SQL语句,是使用的拼接字符进行执行.这样安全系数 ...

  3. WEB三层架构与MVC

    web三层架构是指: >用户接口层(UI Layer) >业务逻辑层(Bussiness Layer) >持久化层 关于业务逻辑和用户接口 在早期的web开发中,因为业务比较简单,并 ...

  4. Django——WEB三层架构与MVC

    而我发此文的目的有二:一者,让初学者能够听到一家之言,是为解惑:二者,更希望抛砖引玉,得到专家的批判. 许多学生经常问我,MVC到底和WEB三层架构有啥关系? 开始时,我也只能给他们一些模糊的回答.时 ...

  5. JavaWeb -学生信息管理实践(JDBC+web+三层架构+DBUtil构造思路)

    前言: 1 该程序使用动态web项目 2 该程序使用SQL server需导入对应包( 具体可看前篇----JDBC的使用) 3 三层架构思想: ①表示层 前台:jsp/html等 作为前台与用户交互 ...

  6. Java Web 三层架构详解

    java 三层架构ssh 一个spring2.5+hibernate3.2+struts2.0组合框架,使用spring的 IoC来管理应用的 所有bean,包括struts2的 action,充分发 ...

  7. 简单的web三层架构系统【第五版】

    接上一版,今天差不多就是三层架构后台代码的完结了,这一版写完,接下来就是前台的制作了,前台不太熟悉,还在深入学习.过一段时间在写,今天先把后台代码写完. 三层架构包括DAL层, BLL层, UI层(也 ...

  8. MVC与三层架构解析学习

    概要 MVC与三层架构不是简单的相等,二者之间存在一些区别. 今天,看到一位博主总结笔记,借鉴而来,以供以后学习. 将javaweb开发中的MVC(SSM框架)与三级架构比较,来解析二者之间的关系. ...

  9. 简单的web三层架构系统【第三版】

    今天是第三版,和前几天一样今天还是要对代码进行优化,三层架构是一种思想,具体能不能使得整个系统安全和高性能,还是要看代码编写的是否合理,逻辑性是否严谨. 昨天偶然间看到别人写的三层架构中,竟然没有在方 ...

随机推荐

  1. Windows server 2008搭建php运行环境

    下载php组件包 首先到http://windows.php.net/download/下载你需要的php版本,这里我下载的是php5.3. 下面解压php组件 包到磁盘上. 安装Microsoft ...

  2. DOM操作-根据name获取网页中的全部复选框

    描述: 与id不同,多个元素可以使用相同的name属性,如果需要获取这一类元素的DOM对象,就需要使用getElementsByName()函数 代码: <!DOCTYPE html> & ...

  3. laravel 获取最后一条sql的小函数

    function lastSql(){ $sql = DB::getQueryLog(); $query = end($sql); return $query; }

  4. myeclipse复制项目

    一.myEclipse 复制后修改名称,访问不到项目 这是因为,你只是改了项目的名称,而没有改 下面是解决方法: 方法 1.右击你的项目,选择"properties",在" ...

  5. Ajax交互,浏览器接收不到服务器的Json数据(跨域问题)

    该问题的情景如下: 问题描述 Ajax的请求代码放在一台机器上,而服务器的java 路由程序放在另一个机子上,所以Ajax的url填写的是带"http://"  的地址,而不是相对 ...

  6. MySQL主从配置【转载】

    1.主从服务器分别作以下操作:  1.1.版本一致  1.2.初始化表,并在后台启动mysql  1.3.修改root的密码 2.修改主服务器master:   #vi /etc/my.cnf     ...

  7. 利用css的border实现画三角形思路原理

    1.利用Css 的border绘制三角形的原理: div的border是有宽度和颜色的,当div的宽度比较大的时候,比如上面代码每个边100像素,颜色又不一样,浏览器怎么渲染颜色呢?经测试发现,宽度较 ...

  8. 【素数】 poj 2739 一个数能有多少种连续素数相加方案

    简单题 素数打表   根据数据量  用n2算法遍历  开一个save[k]素数存前k个素数和即可. #include <iostream> #include <cstdio> ...

  9. sqlserver日志文件过大的处理方法

      SqlServer 数据库中与备份和恢复相关的日志文件有MDF和LDF文件 存在于\\sqlserver_install_dir\MSSQL\Data\1.文件解释.mdf文件    MDF是SQ ...

  10. 用ifconfig命令,只有lo,没有eth0的解决方案

    解决方案: 1. 进入/etc/sysconfig/network-scripts 目录,发现有ifcfg-eth0,即网卡(驱动)存在但未启用. 2. 输入ifconfig -a命令,可显示eth0 ...