技术开发 频道

应用程序测试经验漫谈

  【IT168 评论】关于测试人员的职责定义很多,不过从目前在公司的情况来看,我的定义是:测试人员是根据需求文档(策划文档)来判断软件是否存在缺陷。当然,需求文档不是100%正确的,因为策划本身在做策划文档的时候,也会有所遗漏和欠缺考虑的地方。故,我们在做测试的过程中,很重要的一点就是对需求文档的测试,这个测试过程比较专业的说法也叫需求评审吧。

  今天简单说一下对需求文档的测试需要注意哪些问题吧:

  1、语言描述是否清晰无歧义

  2、处理逻辑是否正确合理

  3、各种图表、流程图是否正确

  4、各种异常情况是否充分考虑到

  暂时想到的就这4点吧,以后想到了再来补充,也欢迎来访者留言补充,O(∩_∩)O~

  这里我觉得第4点是我们需要充分考虑的,很多策划对这个方面考虑的比较少,所以我们就要多考虑异常情况。

  只有当需求文档明确确定后,我们才能顺利的进行测试,否则遇到问题,以个人主观来判断是否正确对于开发人员是没有任何说服力的。在公司不同于个人写写程序,有时候需要考虑很多方面,所以有些自己的想法不 一定会被采纳,这是很正常的哦。

  界面类测试

  应用程序的测试中,界面测试也是不可忽略的一部分,它即有需求提到的地方,比如一些提示信息、窗口等;又有一些需求没有提到的地方,比如一些最大、最小、拖动操作。结合自己工作中遇到的问题,整理了一下界面中测试需要注意的地方。

  1、 所有可点击地方是否可以进行操作

  应用程序一般都会有一些工具栏,菜单等,需要看所有的菜单项、工具按钮是否可用、不可用的是否被灰化(灰化要考虑是全局灰化还是在某些条件下才灰化);超链接(文字颜色以及是否能正常超链)、文字等。

  2、 各种操作对应的正确、错误类提示信息是否正确

  3、 窗口的缩放(双击的最大最小,点击按钮的最大最小,关闭)、拖动(开多个窗口拖动)、任务栏(左键单击和右键单击的操作)、托盘区、任务管理器操作

  一般客户端软件,开着窗口在桌面上移动的时候,cpu占用都比较高,这个性能需要控制在某个合适的范围内。

  4、 需要考虑窗口的模态性问题,比如有模态窗口的时候,进行其他的操作,以及模态窗口的重绘等。

  5、 需要考虑软件对键盘上各个键的响应情况,最多用的是enter、shift、crtl、上下左右箭头,home,vendors,pgup,pgdn,del,对tab键的支持等。还要考虑各种热键(全局热键和软件自身的热键)是否能正确响应。

  6、 各种控件的表现和操作是否正常,下拉列表、日历控件等

  7、 如果有托盘图标,需要考虑托盘图标的显示状态,是否能显示,操作是否正常等

  8、 软件的tooltip是否正确合理齐全

  9、 如果有排序类功能,排序是否正确,如果不正确,和windows系统本身的排序进行比对,看是否一致(例如中文在英文之后,英文是否区分大小写)

  10、 操作界面的即使动态刷新

  11、 如果设计到焦点切换的,需要看鼠标的焦点切换是否正常,适合用户使用习惯。

  12、 涉及到列表类显示的,要看是否显示翻页,翻页是否正常

  13、 涉及到编辑框的,要看输入内容过多之后,是否有滚轮

  14、 窗口在屏幕上的位置是否需要具有记忆能力,比如某个窗口操作一次后,下次打开的位置定位在哪里?

  15、 有的客户端软件要求有飘窗类的提示,需要测试再不同情况下是否能出来,比如最小化到托盘、任务栏以及用ctrl+D显示桌面,是否能正常出来飘窗

  16、 需要考虑再不同显示器上的显示,各种比例和分辨率下的现实情况。

  17、 对换行符的处理,有的显示、输入区,如果有换行符的话可能会出现问题

  测试遇到过含有换行符的话,后面的内容无法显示出来。

  18、 一些操作状态的延续变化,很难发现啊。

  兼容性

  测试过程中会有很多兼容性方面的考虑,根据自己测试过程中遇到的问题,做个简单的小结,如有问题,大家可以跟帖纠正补充:

  1、 在中英文、简繁体系统上使用的区别(在控制面板的区域和语言选项里面进行设置,管理选项卡里更改系统区域设置),比如字符是否能适应不同的环境,不要一变化系统,就出现乱码和各种错误。

  2、 在不同操作系统上使用的区别(XP,VISTA,WIN 7,2000,2003),对于XP,就要考虑sp1、sp2、sp3的区别

  3、 在远程操作电脑的时候使用情况,测试的时候遇到过远程操作的时候会可能崩溃的错误。

  4、 浏览器:不同IE浏览器、带标签页和没有标签页,同一个IE浏览器不同版本的使用。

  5、 同一个系统的不同系统用户操作(管理员和非管理员)。

  6、 需要考虑不同分辨率,屏幕大小下是否能合适的显示。

  7、 需要考虑各种浏览器的缓存情况,会不会因为缓存而对测试产生影响,比如对cookie的保存。

  8、 对于需要输入文字的地方需要考虑多种输入法切换是否能正常输入。

  9、 在32位和64位系统上都需要进行测试,特别是对新的64位系统的支持度。

  11、 需要考虑计算机休眠、待机后再启动软件的表现情况.

  示例问题:用户在控制面板中启动了休眠功能,使用应用程序后,如果应用程序适时的接收或者发送一些数据包,就有可能会自动的启动计算机。比如一些和网络相关的产品,如果网卡定时或者不定时的收发一些数据包,就会触发开机。

  12、 各种杀毒软件对软件的影响。瑞星、卡巴、360等。

  杀毒软件对一些文件类型、端口等有监控,需要考虑。可能由于软件使用某些端口而被杀毒软件阻止而导致不能正常使用

  13、程序对文件的处理,需要考虑充分。

  示例:比如在测试中,遇到某个添加图片的功能,测试中对于jpeg格式的图片,需要考虑灰度图。程序最初没有考虑这个而导致添加灰度图的时候出现崩溃。

  相关知识备注:什么叫灰度图

  任何颜色都有红、绿、蓝三原色组成,假如原来某点的颜色为RGB(R,G,B),那么,我们可以通过下面几种方法,将其转换为灰度:

  1.浮点算法:Gray=R*0.3+G*0.59+B*0.11

  2.整数方法:Gray=(R*30+G*59+B*11)/100

  3.移位方法:Gray =(R*28+G*151+B*77)>>8;

  4.平均值法:Gray=(R+G+B)/3;

  5.仅取绿色:Gray=G;

  通过上述任一种方法求得Gray后,将原来的RGB(R,G,B)中的R,G,B统一用Gray替换,形成新的颜色RGB(Gray,Gray,Gray),用它替换原来的RGB(R,G,B)就是灰度图了。

  上传下载、I/0读取

  上传下载传输类

  1、 上传是否超过最大容量、流量限制

  2、 上传的文件扩展名

  3、 需要考虑不传输文件、传输文件内容为空(大小为0KB,边界值考虑)、文件内容包含特殊字符、文件名字符

  4、 涉及到网络传输,和端口有关系的,要考虑模拟一下端口错误,封端口的操作(可以创建安全策略)

  5、 和网络有关系的要考虑使用代理的情况下,软件的运行状况,

  I/O读取类

  1、 需要考虑磁盘空间不足的情况

  2、 考虑同不同目录下相同文件的操作情况(比如邮件附件,两次添加同目录下的一个文件和分别添加不同目录下的相同文件的表现)和同目录下同名文件的重复操作

  3、 正在使用的文件是否是独占状态

  4、 涉及到文件操作时要考虑文件的类型(例如:txt、doc、gif、png、jpg。。。。。)、大小(0KB,正常、极大,其实也就是临界值考虑)

  5、 涉及到导入导出类操作的,需要查看导入导出过程中各种表现是否需要同步变化

  6、 涉及到文件保存时,需要考虑文件保存的类型、名称的默认给出。

  7、 文件拖动类的考虑

  有的应用程序可以上传、下载、保存文件,那么拖动这些文件试试,看是否会有问题。测试过程中遇到过拖动的时候程序马上崩溃的现象

0
相关文章