在上一次的<不怕有错误,就怕没错误(1)>中提到的错误都是设计阶段出现的问题.系统完成了,自己检查感觉都挺好的,一旦让别人给自己测试的时候,就会出现很多问题,软件测试人员就是给别人挑刺的.
一些同学做完了学生信息管理系统,并且已经打包发布了,我们就在五楼机房对彼此的系统进行了测试,我们先来看看大伙犯的错误,你也可以参考一下自己在做学生信息管理系统的时候是否会犯这个错误.
错误:
- “确定”没有使用默认值——enter进入
- 在登录名和密码处加入空格也可以进去,多用了TRIM函数对空格进行处理
- 空密码也可以修改成功
- 修改成功没有释放窗体,再次打开窗体,上次输入的内容还存在——窗体没有释放
- 密码的隐藏——不显示内容,显示"*"
- tab控件顺序
- 设置课程不能重复添加
- 父窗体、子窗体的使用——除了frmmain和frmlogin外都用在子窗体
- 没有数据时表中如何避免错误的提示
- 登录三次不对的话退出有的是一次不对就退出了
- 出现字符串长度的问题(提示出错)——对字符串进行限制,输入框要和数据库保持一致
- 日期不能输入汉字,数字的位置不能别的,汉字的不能输入符号和数字
- 有错误提示后需要获得焦点或者全部选中
- 性别不允许输入,只能进行选择
- 添加不满足的就直接挂了,而且在年月日的输入前给出相应的提示
- 更新为其他的,在更新会最开始的那条记录就报错
- 学号的前面加“00”需要保持——写入的时候用数字型,保存的时候用字符串
- 学号和姓名查询同时的时候出现问题
- 在查询的时候“更新”和“取消" "删除"不能使用,
- 在更新和删除的之前要先判断是否存在——多个窗体同时操作报错
- 加入的已选课程出现重复
- 选择不同的年纪的时候,所有课程出现重复选项——限制不同年纪的所有课程不同
- 如果所选择的年纪已有所选课程,在已选课程文本框内需要显示出来
- 在查询成绩的窗体内,学号和姓名要匹配——选择学号需要出现名字,写名字要出现对应的学号
- 对分数进行限制
- 用户登录的限制——非法字符串输入(SQL 注入式输入)
- 退出提示——以防操作错误退出
- 无效使用nULL
- 点击删除之后还弹出有数据、或者显示数据存在
这29个个错误时测系统的时候我们大部分人犯的错误,你可以再昨晚你的程序的时候,检查一下自己的程序是否也犯过同样的错误!
看着这29个错误是不是特别多,我们把它整理一下.
一,在程序设计阶段可以避免的问题,只要你细心一点,这些错误是不会犯的,不过现在我们犯了就是为了以后不会再犯这样低级的错误,让我们的技术更上一层楼!
- “确定”没有使用默认值——enter进入
- 在登录名和密码处加入空格也可以进去,多用了TRIM函数对空格进行处理
- 空密码也可以修改成功
- 修改成功没有释放窗体,再次打开窗体,上次输入的内容还存在——窗体没有释放
- 密码的隐藏——不显示内容,显示"*"
- tab控件顺序
- 父窗体、子窗体的使用——除了frmmain和frmlogin外都用在子窗体
- 登录三次不对的话退出有的是一次不对就退出了
- 出现字符串长度的问题(提示出错)——对字符串进行限制,输入框要和数据库保持一致
- 有错误提示后需要获得焦点或者全部选中
- 添加不满足的就直接挂了,而且在年月日的输入前给出相应的提示
- 学号的前面加“00”需要保持——写入的时候用数字型,保存的时候用字符串
- 在查询的时候“更新”和“取消" "删除"不能使用,
- 对分数进行限制
- 退出提示——以防操作错误退
- 如果所选择的年纪已有所选课程,在已选课程文本框内需要显示出来
在去年的寒假的时候,我们学习了一个假期的vb程序设计,对于上面的几个细节问题,你肯定可以解决的.那我就不多说了!
还以一些特殊性的操作,比如说判断在查询表的时候是否到达了最后一列.
- 设置课程不能重复添加
- 加入的已选课程出现重复
- 日期不能输入汉字,数字的位置不能别的,汉字的不能输入符号和数字
- 更新为其他的,在更新会最开始的那条记录就报错
- 在更新和删除的之前要先判断是否存在——多个窗体同时操作报错
- 点击删除之后还弹出有数据、或者显示数据存在
- 选择不同的年纪的时候,所有课程出现重复选项——限制不同年纪的所有课程不同
在设计课程信息的时候,我们需要不让所有课程重复和所选课程重复,我们可以写一个函数来进行限制:
对于第三个问题,我们可以使用vb自带的函数进行限制,
第4.5.6个问题,在进行操作之前,我们先要对表进行判断,看是否已将查询到了EOF,BOF,我们还有要对表进行判断,判断表中是否存在数据,使用ADODB.Recordset.recordsetcount属性进行判断.
第7个问题就需要我们需要们对这个学生信息管理系统进行分析,在这个地方,你需要对你的数据库进行分析,让自己了解那部分内容应该和那一部分的内容是有联系的.
还有一个比较重要的问题,那就是SQL Server注入的问题,这个问题一般在九期里面不怎么会考虑到,都是在师父给我们测试的时候才了解,SQL Server注入属于SQL Server的一个漏洞,关于这个问题请关注我的博客<SQL 注入攻击语句防范>
这些问题不知道你在你的程序中是否遇到过,我贴出来,你可以对照着看看你的程序是否也有同样的错误,一个人的错误很少,但是多人加在一起,就可能犯不同的错误,也给我们敲一下警钟,认真的去对待代码,代码容不得一丁点的错误!哪里出错了,在哪里修改,人生也是一样,在哪里跌倒了,在哪里爬起来 !