美文网首页
特殊字符测试

特殊字符测试

作者: 北有麋鹿i_1f5c | 来源:发表于2017-10-19 09:47 被阅读0次

    测试时(比如查询测试)注意的4个与mysql有关的字符 %  _  '  "

    %通配符,代表一个以上的字符。它在数据库中为通配符,如果客户在搜索框中输入“%”,而程序未对输入的字符进行转义,在系统将解释为一个通配符,列出所有结果,而不是只含“%”的数据一般需要解释为“\%”,才可正常搜索出

    _通配符,代表单个字符。其原理和“%”符时一样的,大概学过SQL语句的人都知道像这样的句子:

    SELECT * FROMStundent WHERE City LIKE 'Ne%',SELECT * FROMStundent WHERE LastName LIKE 'C_r_er' 其中%和_都是通配符,所以未经处理的%和_就会解释为此处的通配符来

    '单引号,因SQL语句的字符串是用单引号如果保存或查询时,输入“'”系统未经处理,就会解释为SQL语句的中字符串的单引号,所以会出错

    "双引号,同单引号。

    *星号,查询全部

    ---------------------------------------------------------------------------------------华丽丽的分割线--------------------------------------------------------------------------------

    众所周知,测试的时候对某些特殊字符需要特别留意。在上周报了一个单引号的bug后,我和开发人员一起讨论了一下对于OracleDB的敏感字符,总结如下。

    对于Oracle DB而言,查询的时候需要注意:

    1.如果查询条件是free text,而且是模糊匹配,那么要注意测试以下特殊字符:

    Group 1:数据库开发人员需要对以下4个字符做特殊处理。所以需要测试是否已经做了正确的处理。

    _ (下划线) : Oracle中代表占位符

    表示查找含_的字符串。

    %(百分号)

    表示查找含%的字符串。

    ‘(单引号)

    表示查找含'的字符串

    #

    表示查找含#的字符串

    Group 2:通配符,和需求相关。如果*和?当作通配符处理,则不需要数据库开发人员特殊处理。如果当作其本身这个字符,则需要处理。所以需要测试是否已经做了正确的处理。

    *(星号):

    代表通配任意多个字符或数字进行查询

    ?(问号):

    代表通配1个字符或数字进行查询

    2.如果查询条件是free text,但是精确匹配,那么要注意测试单引号。

    3.如果是直接保存某字段,那么没有特殊字符需要注意。

    相关文章

      网友评论

          本文标题:特殊字符测试

          本文链接:https://www.haomeiwen.com/subject/owtuuxtx.html