你说的都队——测试总结

测试的目的与目标

  在此系统进行初步实现之后,开始进行对系统进行测试,找出系统中存在的Bug,通过测试,用提交的Bug报告来为以后软件的改进提供标准和参考,能够在以后的系统改进中找到依据。

测试后的软件各模块基本功能可以顺利进行,尽可能的提高软件的健壮性。

测试方法

  • 从是否关心软件内部结构和具体实现的角度划分:黑盒测试和白盒测试;

  • 从是否执行程序的角度:静态测试和动态测试;

  • 从软件开发的过程按阶段划分有:单元测试、集成测试、确认测试、系统测试、验收测试、回归测试、Alpha测试、Beta测试;

单元测试又称模块测试,是针对软件设计的最小单位 ─ 程序模块(这里所说的程序模块在Java中一个模块就是一个方法),进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。

集成测试 (组装测试、联合测试),通常在单元测试的基础上,需要将所有模块按照设计要求组装成为系统。这时需要考虑的问题是:

  • 在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;

  • 一个模块的功能是否会对另一个模块的功能产生不利的影响;

  • 各个子功能组合起来,能否达到预期要求的父功能;

  • 全局数据结构是否有问题;

  • 单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。

确认测试(Validation Testing),确认测试又称有效性测试。任务是验证软件的功能和性能及其它特性是否与用户的要求一致。对软件的功能和性能要求在软件需求规格说明书中已经明确规定。它包含的信息就是软件确认测试的基础。

系统测试(System Testing),是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。系统测试的目的在于通过与系统的需求定义作比较, 发现软件与系统的定义不符合或与之矛盾的地方。

验收测试(Acceptance Testing),在通过了系统的有效性测试及软件配置审查之后,就应开始系统的验收测试。验收测试是以用户为主的测试。软件开发人员和QA(质量保证)人员也应参加。由用户参加设计测试用例,使用生产中的实际数据进行测试。在测试过程中,除了考虑软件的功能和性能外,还应对软件的可移植性、兼容性、可维护性、错误的恢复功能等进行确认。

测试用例

由于功能模块较多,测试内容篇幅较长,所以在本论文中只介绍登入系统的测试用例,表6.1是本系统会员登入的测试表,从测试的结果来看与期望结果完全相同。

登录系统测试用例

功能特性 用户登录验证
测试目的 验证是否输入合法的信息
测试数据 用户名称:1111 密码:1111
测试内容 操作描述 数据 期望结果 实际结果 测试状态
1 输入用户姓名,按“登陆”按钮。 用户姓名:1111, 密码为空 显示警告信息“用户名或密码误!” 显示警告信息“用户名或密码误!” 与期望结果相同
2 输入密码,按“登陆”按钮。 用户姓名为空,密码:1111 显示警告信息“用户名或密码误!” 显示警告信息“用户名或密码误!” 与期望结果相同
3 输入用户姓名和密码,按“登陆”按钮。 用户姓名:1, 密 码:1 显示警告信息“用户名或密码误!” 显示警告信息“用户名或密码误” 与期望结果相同
4 输入用户姓名和密码,按“登陆”按钮。 用户名:1111,密 码:1111 正确登入到会员操作界面 正确登入到会员操作界面 与期望结果相同

发布功能

功能特性 发布失物或招领信息
测试目的 验证是否能正常发布失物或招领信息
测试数据 失物信息一则、招领信息一则
测试内容 操作描述 数据 期望结果 实际结果 测试状态
1 登陆后,首页点击“捡到东西了”,不填写任何信息,发表 出现错误提示 提示“物品名为必填项” 与期望结果相同
2 点击“捡到东西”,填写符合规定的数据,发表 出现发布成功提示 无提示,但发布成功 缺少提示
3 点击“丢东西了”,不填写任何信息,发表 出现错误提示 提示“物品名为必填项” 与期望结果相同
4 点击“丢东西了”,填写符合规定的数据,发表 出现发布成功提示 无提示,但发布成功 缺少提示

搜索功能

功能特性 搜索网站信息
测试目的 验证是否能进行信息的搜索,以及结果是否正确
测试数据 钱包、饭
测试内容 操作描述 数据 期望结果 实际结果 测试状态
1 搜索框输入“钱包”,点击搜索 “钱包” 出现带“钱包”的数据,“钱包”特殊标注 出现乱码 影响功能的错误
2 搜索框输入“饭”,点击搜索 “饭” 出现带“饭”的数据,“饭”特殊标注 出现乱码 影响功能的错误

在线聊天室测试

功能特性 多用户在线聊天
测试目的 验证是否能正常实现在线聊天功能
测试数据
测试内容 操作描述 数据 期望结果 实际结果 测试状态
1 点击“在线交流”按钮 打开多人在线聊天室 打开多人在线聊天室 与期望结果相同
2 在文字输入框中输入文字 大家好,我来了! 文字输入框显示相应文字 显示“大家好,我来了!” 与期望结果相同
3 输入文字后,点击“发送”按钮 在聊天界面显示之前输入的文字 在聊天界面显示之前输入的文字 与期望结果相同
4 点击“发送”按钮旁边的三角形,修改发送快捷键 出现快捷键修改选项 无响应 功能缺失

个人中心测试

功能特性 修改和查看个人信息
测试目的 验证功能是否正常
测试数据
测试内容 操作描述 数据 期望结果 实际结果 测试状态
1 登陆后,点击页面上用户名字的按钮 进入个人信息页面 进入个人信息页面 与期望结果相同
2 修改个人参数界面,修改参数 电话:13344445555 邮箱: aaa@aaa.com 提示修改成功 提示修改成功 与期望结果相同
3 修改密码 密码: 12345678 提示修改成功,并要求重新登陆 提示修改成功,仍为登录状态 存在逻辑问题
4 进入“帖子信息” 显示所有发布的贴子信息 显示所有发布的贴子信息 与期望相同
5 查看登录日志 显示所有的登录信息 显示所有的登录信息 与期望相同

后台管理测试

功能特性 管理后台
测试目的 测试管理员是否能进行后台管理操作
测试数据 账号:admin 密码:admin
测试内容 操作描述 数据 期望结果 实际结果 测试状态
1 点击后台登陆,输入账户密码,点击登录 账号:admin 密码:admin 进入后台管理界面 显示登陆成功,进入管理界面 与预期相同
2 测试用户管理界面功能 所有功能都能实现 所有功能实现 与预期相同
3 测试物品管理界面功能 所有功能都能实现 所有功能实现 与预期相同
4 测试权限管理界面功能 所有功能都能实现 所有功能实现 与预期相同
5 测试菜单管理界面功能 所有功能都能实现 所有功能实现 与预期相同
6 测试系统设置界面功能 所有功能都能实现 所有功能实现 与预期相同

测试结论

把开始的代码写得越好,它出现的错误也就越少,你也就越能相信所做过的测试是彻底的。系统化测试以一种有序方式设法探测潜在的麻烦位置。同样,毛病最可能出现在边界,这可以通过手工的或者程序的方式检查。自动进行测试是最理想的,用得越多越好,因为机器不会犯错误、不会疲劳、不会用臆想某此实际无法工作的东西能行来欺骗自己。回归测试检查一个程序是否能产生与它们过去相同的输出。在做了小改变之后就测试是一种好技术, 能帮助我们将出现问题的范围局部化,因为新问题一般就出现在新代码里面。

测试和排错常常被说成是一个阶段,实际上它们根本不是同一件事。简单地说,排错是在你已经知道程序有问题时要做的事情。而测试则是在你在认为程序能工作的情况下,排错是在你已经知道程序有问题时要做的事情。而测试则是在你在认为程序能工作的情况下,为设法打败它而进行的一整套确定的系统化的试验。

Edsger Dijkstra有一个非常有名的说法:测试能够说明程序中有错误,但却不能说明其中没有错误。他的希望是,程序可以通过某种构造过程正确地做出来,这样就不再会有错误了,因此测试也就不必要了。这确实是个美好生活的目标,但是,对今天的实际程序而言,这仍然还只是一个理想。所以应该集中精力讨论如何测试,如何才能够更快地发现程序错误,如何才可以使得工作更有成效、效率更高。

posted on 2020-06-30 16:19  你说的都队  阅读(338)  评论(0编辑  收藏  举报