我正在测试在Asp.Net中创建的基于Web的企业应用程序。我正在测试一个接受字母数字字符和最多255个字符的文本框。

除了正常的边界值,空值,负数据输入之外,某些唯一,无效和开箱即用的数据输入也肯定会导致应用程序崩溃。一般而言,一些聪明的主意会迫使应用程序停止运行或停止运行。

#1 楼

老实说,唯一的限制就是您的想象力。您会很快发现程序员是采用宽松的方法(允许除...以外的所有内容)还是压抑的方法(除...以外的所有内容)

可以使用一些示例:


将“哈姆雷特”的整个文本复制/粘贴(由于QA对您的仇恨,您必须对其进行Google搜索-我无法使用) 。
将“哈姆雷特”的整个文本拖放到该字段中。可能有人认为可以防止复制/粘贴,但不能拖放。
尝试一些SQL注入...或代码段。
或HTML
如果在逻辑上不应该存在任何内容(例如负数年龄),请尝试输入。
更改浏览器语言并以该语言输入数据(或使用外语键盘布局和外语操作系统构建虚拟设备,然后使用它来输入数据-它将捕获程序员使用按键识别而不是使用字符串检查来识别特殊字符的地方。
按住一个键。输入是否会在字段大小限制处停止?

这些想法都不会破坏应用程序-一个真正好的开发团队将以有限的输入方式来防止任何未明确允许的内容,然后进行检查并清洁所有经过预防的东西。

#2 楼

尝试在文本字段 &#160中键入

这里的正则表达式替换了这些输入。

val = val.replace(/&#(\S*)\d;/g, ' ').replace(/&#(\S*)\d/g, ' ');


#3 楼

除非您为应用程序中的每个文本输入字段都涵盖了以下边界条件,否则您尚未完成测试。


为空(如果正在测试API)
零字符
一个字符
两个字符
一些字符
许多字符
小于最大允许字符数
最大允许字符数
大于最大允许字符数
文本中的空格
文本中的符号(例如,冒号,下划线)
文本中的标点符号
ASCII字符
高ASCII字符
德语字符
日语字符
希伯来字符多个字符范围的Unicode字符
控制字符


#4 楼

这里的示例可能会有所帮助:http://www.allthingsquality.com/2010/04/general-input-tests-for-strings.html

这些:http:// www .allthingsquality.com / 2010/04 / some-strings-for-pasting.html

此处的相关项目:http://www.allthingsquality.com/search/label/Test%20Data

#5 楼

一个简单但好的测试也是测试HTML字符代码。您的应用程序还可能将诸如&,#和数字值之类的特定字符串在一起,可以使诸如&#174之类的东西恰好是注册符号。

如果被接受,则需要确保再次出现数据的地方仍然是&#174而不是®符号。

反之则要输入特殊字符,并确保它们以正确的格式出现,并假设它们按照您的要求有效。

#6 楼

竖起大拇指以上所有答案..想再添加一个。

尝试在输入字段中输入<>尖括号或HTML close标记。也可以在URL上尝试此操作。

如果您看到堆栈跟踪或黄页,则表明网址重定向存在问题。

#7 楼

最好输入一些简单的SQL注入或HTML示例作为输入,例如:


<script>alert("123")</script>
<script>alert(document.cookie)</script>
<html><a>"Testing"</a></html> etc...


#8 楼

这里的文章涵盖了上面的许多想法以及其他一些想法:骨架字符串如何帮助您进行测试。

#9 楼

尝试使用非ASCII字符。这里有一些可供选择。以及整个中文,印度语等剧本。为此,请尝试使用Google翻译。

评论


我尝试过,发现它转换为“?”文本框不清晰时的符号。

–测试人员
2014年8月12日13:51

恭喜,您刚刚找到了错误:-)

–Peter M.-代表莫妮卡(Monica)
2014年8月12日23:23