软件白盒测试-软件测试技术实战(6)

发表于:2017-7-14 11:27

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:顾翔    来源:51Testing软件测试网原创

  案例3-1:文本框的输入。
  某文本框只允许输入长度为5~20的字符串。超长或不符合格式的文本框的测试用例见表3-1。
  2.保留字符输入的软件测试探索
  表单输入的数据,除了存储到数据库中,还会显示在界面上。例如在修改个人信息的案例中,系统会把以前输入到数据库中的数据显示到界面上,这样便于用户对信息中不合适的地方进行修改。要对这种类型的软件测试进行探索,首先要搞清楚这套产品对表单输入数据使用的是何种方式进行输出?这种输出方式中存在哪些保留字符?输出的方法是用HTML语言显示的,HTML保留字符有:<、>、"、'、&、空格、回车等(参见附录A)。HTML显示这些字符时可以用其他字符进行替换。一个正常的操作是从数据库中输出保留字符以后,程序对这些保留字符通过正则替换转码为HTML中对应的可以显示的字符串,如'<'转为&lt;,空格转为&nbsp…….如果在表单中输入了这些字符,或者输入一段含有这些字符的HTML代码或者JavaScript代码,如<a href="http://www.sina.com.cn">进入新浪</a>,然后在显示页面中查看输出的格式是否正确,如果不正确,或者出现显示页面错乱,甚至执行了JavaScript语句,这属于XSS注入,肯定是一个Bug。
  案例仍旧为案例3-1,增加测试用例,见表3-2。
  3.1.2  模糊查询输入框输入数据的测试探索
  目前除了一些专业的搜索引擎(如Google、百度)以及流行的大数据存储方式采用非关系型数据库或者NoSQL技术进行存储,对于大多数软件系统,通常还是采用传统的关系型数据库进行存储。若一个用户想查询标题中含有"云计算"的标题,再通过单击相应标题查看文章内容,通常对应的SQL查询语句为:select url,title,content from paper where title like '%$title%'; ($title为模糊查询文本框提交过来的字符串,这里为"云计算")。下面深入讨论一下SQL语句中%这个关键而特殊的模糊查询字符,假设用户在模糊查询输入框中输入%,而程序没有对%进行特殊处理,上述的SQL语句就变为select url,title,content from paper where title like '%%%',这样的查询输出结果不是把文章标题中含有%字符的标题输出,而是把这个数据库表中所有的记录都给输出来了,这属于SQL注入,也是一个Bug。
  案例3-2:模糊搜索。
  某文本框为根据关键字进行模糊搜索,可以设计测试用例,如表3-3所示。
本文选自《软件测试技术实战-设计、工具及管理》第三章,本站经人民邮电出版社和作者的授权。
版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
相关推荐:
运用状态转换图设计测试用例-软件测试技术实战(5)
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号