《软件测试》实验

实验四 白盒测试

实验目的

(1) 掌握静态分析代码的技巧

(2) 学习黑盒测试中的等价类划分

实验内容

一、 找出函数中存在的问题。以下题目均在Lab04项目中完成。

1、 某站点通过用户输入的用户名和密码(在login.jsp登录页中输入)来判断出现什么样的界面,如果是管理员(即用户名为admin或administrator)跳转到管理员页面(welcome_admin.jsp),非管理用户跳转到普通用户界面(welcome.jsp)。游客访问站点是,无需输入用户名和密码,直接进入普通用户界面(welcome.jsp)。

要求:找出UserOperation.java文件中的getUserRole ()方法存在的问题,说明问题产生的原因,并修改它。

说明:不要求编写Junit单元测试用例,可以自己设想测试数据,通过静态分析,配合动态运行调试找出问题所在。

答:

问题1:第一道题说某站点通过用户输入的用户名和密码来判断出现什么样的界面,但是在测试过程中,我们只要在WEB界面输入账户admin或administrator就可以跳转到管理员页面,这样存在严重问题:所有用户都可以登陆管理页面,存在安全隐患。

问题2:传进的参数可能为空值(括号中userName和admin/administrator调换位置)

解决:

public String getUserRole(String username, String password){

String userRole="guest";

If(null != password && !“”.equals(password)){

If(null != username && !“”.equals(username)){

if(admin.equals(userName)||administrator.equals(userName){

userRole="admin";

}

return userRole;

}

else{

return userRole;

}

}

else{

return userRole;

}

2、 用户注册(register.jsp)时要输入年龄字段,用户输入的参数由UserOperation.java文件中的validateUserAge()方法,转换为数值型,判断年龄是否在18~26之间(包括18和26),如果年龄在此区间内,则返回true,跳转到login.jsp页,否则弹出提示框,提示“用户年龄输入不正确”。

要求:找出UserOperation.java文件中的validateUserAge()方法存在的问题,说明问题产生的原因,并修改它。

说明:不要求编写Junit单元测试用例,可以自己设想测试数据,通过静态分析,配合动态运行调试找出问题所在。

答:

问题:用户没有判断类型,不知道是否有输入值

解决:

public boolean validateUserAge(String userAge){

If(null != userAge && !“”.equals(userAge)){ if(Integer.parseInt(userAge)>=18&&Integer.parseInt(userAge)<=26){

return true;

}

else{

return false;

}

}

else{

return false;

}

}

二、利用黑盒测试中的等价类划分完成以下题目

3、某程序规定:"输入三个非0正整数 a 、 b 、 c 分别作为三边的边长构成三角形(暂不考虑特殊三角形的情况)。请根据给出的说明,用等价类划分法进行划分,并给每个等价类规定唯一的编号。

所需判断

有效

无效

三位非0正整数abc

不输入0

输入0

输入

空白

输3位

缺几位或者多几位

输入正整数

输入其他字符串

构成三角形

输入的数不构成三角形

实例

所需判断

有效

无效

三位非0正整数abc

3    4   5

0   4    0

3    4

A    b   5

1    1    1

转载于:https://www.cnblogs.com/wx163/p/5544270.html

3137102334_卓文翔(实验4)相关推荐

  1. 3137102334_卓文翔_实验5

    <软件测试>实验 实验五 测试技术 实验目的 (1) 根据实际情况,综合应用各种软件测试技术 (2) 熟练掌握MyEclipse+Junit的Java编程和单元测试 实验内容 一. 找出函 ...

  2. 卓文翔_3137102334(实验一)

    <软件测试>实验 实验一 测试入门 实验目的 (1) 了解什么是测试: (2) 学习评测别人的软件: 实验内容 1. 评测别人的软件 请下载铁路12306的手机APP,通过使用这款软件,写 ...

  3. 卓文翔_3137102334_实验2

    <软件测试>实验 实验二 单元测试 实验目的 (1) 用JUnit编写单元测试: (2) 学习代码覆盖率和性能监测工具的使用: 实验内容 1. 在博客园http://www.cnblogs ...

  4. 第七节:C#工业控制编程基础--读写txt文档实验

    第七节:C#工业控制编程基础–读写txt文档实验 文章目录 第七节:C#工业控制编程基础--读写txt文档实验 一.实验目的: 了解C#文件的读写. 二.实验内容: 用C#将文本写入指定txt文件,并 ...

  5. java基本语句回文数实验_实验二 java基本数据类型与把持语句.doc

    实验二 java基本数据类型与把持语句.doc 还剩 4页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 5System.out.println(num ...

  6. 201671030107胡文艳实验三作业互评与改进报告

    任务1:要给出所点评作业的链接地址,点评内容和阅读心得 读了你的这篇博客,一方面给我的印象就是排版整齐,内容充实,态度认真:另外一方面就是通过别人反省自己,看了你的博客,我觉得我的博客还有很多需要改进 ...

  7. 201671030107 胡文艳 实验十四 团队项目评审课程项目总结

    项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 作业学习目标 1.掌握软件项目评审会议流程 ...

  8. 20135115臧文君---实验2

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java    班级:1351班      姓名:臧文君    学号:20135115 成绩:             指导 ...

  9. 20135115臧文君---实验3

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java    班级:1351班      姓名:臧文君    学号:20135115 成绩:             指导 ...

最新文章

  1. 浏览器事件监听的方法
  2. 错误:请求“ ..”中的成员“ ..”属于非类类型
  3. 依赖注入及AOP简述(一)——“依赖”的概念 .
  4. 历经 7 年双 11 实战,阿里巴巴是如何定义云原生混部调度优先级及服务质量的?
  5. python 短进程优先算法_黄哥Python:图深度优先算法(dfs)
  6. python助教的面试题_六个Python经典面试题(附详解)
  7. Java 12 - Java StringBuffer和StringBuilder类
  8. parallelstream启动的线程数_高并发与多线程网络学习笔记(三)线程组和线程池
  9. iOS开发总结(A0)- Localization
  10. Mock完成单元测试
  11. 高级工程师究竟比你“高”在哪?
  12. PHP微信模版消息有时收不到_PHP微信开发之模板消息回复
  13. c语言bubblesort函数,C++实现冒泡排序(BubbleSort)
  14. 游戏文案策划:资料推荐
  15. RANSAC算法简介
  16. 自然辩证法论文 计算机,自然辩证法课程论文-自然辩证法与计算机科学技术的研究.doc...
  17. 特种浓缩分离:染料纳滤膜脱盐浓缩技术
  18. canvas显示图片分辨率降低优化
  19. java多线程概念、实现、状态和生命周期、同步、通信
  20. 学汇率规避风险知识做懂汇率的外贸人

热门文章

  1. Key to Oral English Breakthrough: Imitate and Repeat
  2. html5 不允许修改,详解HTML5.2版本带来的修改
  3. MGD【知识蒸馏】【expand】
  4. 2018-08-14笔记
  5. html使用阿里巴巴图标库
  6. 阿里巴巴矢量图标库在线链接用法
  7. 2018年四川理工学院软件工程考试大纲(软件工程概述)
  8. WGS84坐标系经纬度转地心坐标系坐标
  9. Web开发之数据库总结
  10. idea中Field injection is not recommended提示