用户输入(2)
开发人员有三种基本方式来定义错误处理程序(error handler),它们分别是输入筛选器(input filter)、输入检查(input check)和使用异常(exception)。下面我们讲述如何从测试人员角度来看待这三种方式。
输入筛选器
输入筛选器用于防止非法的输入值被传递给应用软件的功能代码。换句话说,编写输入筛选器的目的是把那些坏的输入值挡在应用程序之外,这样开发人员就不用担心那些非法输入值了。如果一个输入值被传递给应用程序,这个输入值就被认为是一个好的输入值,可以被安全使用,所以也就没有必要进行进一步的检验。当程序的性能比较关键时,开发人员通常会使用这个技术。
输入筛选器不会产生错误信息(这是它和输入检查的区别所在,下一节会讨论输入检查),相反,输入屏蔽器默默地把非法的输入排除在外,只把合法的输入值传给应用程序。比如,一个图形界面的应用程序有一个面板可以接收整数值,该面板可以忽略所有的字符或字母输入值,只显示键入的数值输入值(参见图3.1)。
图3.1 该对话框来自PowerPoint,它只允许用户输入数值输入,这样就屏蔽了所有的非法字符
还有,所谓的列表框和下拉列表框是一种输入筛选器,因为它们只提供那些合法的输入选项(参见图3.2)。这里的好处显而易见,现在开发人员可以专心编写功能代码,不再需要对那些输入进行进一步的检查了,这省了很多麻烦。
图3.2 让用户从一些预先定义好的合法输入值中进行选择也是屏蔽输入的一种方式