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. Django——WEB三层架构与MVC

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

  3. 步步为营 .NET三层架构解析系列总结

    这个系列我一共写了八篇,从什么是三层架构到一个简单的三层架构从数据库设计.SQLHelper设计.Modle设计.DAL设计.BLL设计到UI的设计作了简单的说明,在这其中有很多读者提出了很好的意见, ...

  4. 步步为营 .NET三层架构解析 七、UI的设计(登陆页面、注册页页和添加部门页面)...

    在我们设计好了三层架构的SQLHelper.Model.DAL和BLL后,我们要开始来调用它设计好的功能了. 首先我们来设计Login.aspx,先看界面的设计: <table><t ...

  5. 步步为营 .NET三层架构解析 四、Model设计(四种设计方式)

    说到Model设计,我们先谈谈它的作用: Model又叫实体类,model层里面的一个类对应数据库里面的一张表, 类里面的每一个属性对应表里面的一个字段,每个属性都有自己的 GET 和 SET 方法, ...

  6. java web 三层架构

    转自:http://hi.baidu.com/lu920508536/item/9194ab2068288e809d63d100 表示层 1.基于web的jsp.servlet.struts.webw ...

  7. 解析三层架构(1)---为什么要分层?

    随着分层设计的进行,对分层逐渐有了更深的了解.准备利用几篇文章,深度的分析一下分层设计. 我这里的题目之所以叫三层架构,不一定代表着系统就是三层.古语中三为多.这里的三层也可能是 四层,五层 或者更多 ...

  8. 基于LINQ to SQL的WEB开发三层架构(2)

    初始的Northwind.dbml文件代码如下: #pragma warning disable 1591 //-------------------------------------------- ...

  9. [.NET 三层架构(ADO.NET)+Web Service+多语言]WinForm三层架构重新实现TaskVision,外加WebService提供数据和多语言...

    前言: 关于不同框架实现同一个TaskVision: 前面DebugLZQ先是用WPF(没有使用MVVM,因为前面使用MVVM实现过过点餐系统),因而这个关键点就放在了WPF的Binding上面: 然 ...

最新文章

  1. cpu和GPU有什么区别
  2. 关于Infobright的一个小TIPS
  3. 安装CocoaPod
  4. Java中MySQL事务处理举例
  5. 使用maven构建项目候,jar包错误的解决办法
  6. 使用 ramda 解析 .yarnrc/.npmrc 配置文件的例子
  7. mysql数据库咋还原_mysql数据库备份和还原
  8. 如何检查计算机账号克隆
  9. 点云学习笔记16——pcl点云可视化
  10. Android资源应用与适配标准
  11. 下拉列表—DropDownMenu的使用解析
  12. Appinventor使用
  13. 局域网内固定自己的ip
  14. 简化电脑操作,不让多余操作浪费你的生命
  15. 微信二维码获取账号权限——Netting-QRLJacking分析利用
  16. java pgp 加密_java – 如何解密签名的pgp加密文件?
  17. mysql第一章试题_MySQL基础-第一章
  18. yolov5 的 detect 层 与 anchor 机制
  19. 如何反击职场PUA?
  20. 为什么要“除夕”,原来是内存爆了!

热门文章

  1. 容器LinkedList原理(学习)
  2. iOS:CALayer核心动画层
  3. PAT (Advanced Level) 1014. Waiting in Line (30)
  4. response的contentType 常见几种类型
  5. Log4j官方文档翻译(九、输出到数据库)
  6. 用C语言实现素数筛法获取一亿(100000000)以内的全部素数
  7. 如何查看ubuntu下的分区命令
  8. How to read a book
  9. log4net 配置参数意思
  10. Javascript绘图