正文

软件测试---白盒测试指南(一三)2007-06-27 12:54:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/lym51/27158.html

分享到:

错误码DM13举例,如:数据库表bd_invcl中加一字段avgprice,执行完后sql语句后,PreparedStatement类型的stmt中执行set语句的顺序要与数据库表中字段顺序一致。否则出错

String sql = "insert into bd_invcl(pk_invcl, invclassname, invclasscode, endflag, avgprice, invclasslev) values(?, ?, ?, ?, ?, ?)";

       Connection con = null;

       PreparedStatement stmt = null;

       try {

              con = getConnection();

              stmt = con.prepareStatement(sql);

              // set PK fields:

              String newOid = getOID();

              stmt.setString(1, newOid);

              // set non PK fields:

              if (invcl.getInvclassname() == null) {

                     stmt.setNull(2, Types.CHAR);

              }

              else {

                     stmt.setString(2, invcl.getInvclassname());

              }

              if (invcl.getInvclasscode() == null) {

                     stmt.setNull(3, Types.CHAR);

              }

              else {

                     stmt.setString(3, invcl.getInvclasscode());

              }

              if (invcl.getEndflag() == null) {

                     stmt.setNull(4, Types.CHAR);

              }

              else {

                     stmt.setString(4, invcl.getEndflag());

              }

              if (invcl.getAvgprice() == null) {

                     stmt.setNull(5, Types.INTEGER);

              }

              else {

                     stmt.setBigDecimal(5, invcl.getAvgprice());

              }

              if (invcl.getInvclasslev() == null) {

                     stmt.setNull(6, Types.INTEGER);

              }

              else {

                     stmt.setInt(6, invcl.getInvclasslev().intValue());

              }

              //

              stmt.executeUpdate();

              return newOid;

       }     catch (Exception e) {return "插入未成功";}

       finally {

              try {

                     if (stmt != null) {

                            stmt.close();

                     }

              }catch (Exception e) {}

              try {

                     if (con != null) {

                            con.close();

                     }

              }catch (Exception e) {}

       }

}

 

 

8.1). 业务逻辑重点测试项目(需根据不同业务要求进行细化)

1.  状态校验测试:

如:

        (1)作废状态的校验:   RemoveUpdate单据时,需校验状态。如果记录处于作废时会抛异常,否则正常删除或修改。(请构造正反用例分别测试)

2)审核状态的校验:在RemoveUpdate单据时,需校验状态。如果记录处于审核状态时会抛异常,否则正常删除或修改。(请构造正反用例分别测试)

        3)冻结状态校验:同上。

2.关联删除测试:

  3.关联增加测试:

4.静态变量的测试:

       

8.2). 样例:

如存货基本档案

 

UI层:

 

1).显示控件和编辑控件应该加以区分,尽量避免任何引起用户误会的可能。如,存货档案中的“查询条件”控件,使用户误以为是用来录入的

2).编辑控件数据类型没有与表中对应字段数据类型一致

如:InvbasdocPanel类中的gettxtWeitUnitNum(){}

应加入ivjtxtWeitUnitNum.setTextType(nc.ui.pub.beans.textfield.UITextType.TextDbl);

3)控件没有控制最大长度范围:

如:对双精度型,数据库表中字段设为Decimal类型,pricision20位,Scale8

  则需加入下列语句:

ivjtxtShipUnitNum.setMaxLength(20);

ivjtxtShipUnitNum.setNumPoint(8);

4).参照问题

按增加时,从树中所选分类没有自动带入,存货分类参照应只显示末级

5).树表结构

l         1.树中节点级次混乱

l         2.选择末级节点时,树中节点与列表中记录没有对应

l         3.一进入树表结构型的界面中,选择末级节点时,没有激活“增加”按钮,

l        4.按增加,没有缺省切换到第一页,从树中所选分类没有自动带入

 

6)报错信息:

l        1.错误信息提示不准确

l        2.当操作合法时,也出现报错信息框

如:光标定位于左边tree中的某一节点时,报错信息为:

只有第二级以下的节点或末级节点表才能展开。

阅读(2471) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册