浅谈 C 控件测试方法

发表于:2017-3-17 10:36

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:稀土掘金    来源:51Testing软件测试网采编

  前言
  C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言,由C和C++衍生出来的面向对象的编程语言。作为一种安全、稳定、简单、优雅的语言,其控件功能也是丰富、稳定,而测试则是保证其质量的必不可少的标配。
  本文基于WPF版本对控件测试的方法进行了归纳和总结,希望对刚接触控件测试的小伙伴有所帮助。
  01、测试方法
  控件的功能可以分为两类:属性和事件。
  1、 属性
  为了优化测试流程,我们将属性测试分为两个阶段:设计期和运行期。
  ● 设计期:主要验证无需运行程序即可使用的功能,如属性说明、属性默认值等
  ● 运行期:主要验证程序运行时呈现的功能,如获取或者设置属性值等
  这样划分还有一个好处,如果该项目要实现自动化,那么只需要将运行期用例自动化即可,因为设计期一般不会做改动。
  控件众多,属性众多,但无外乎这几类:
  ● 颜色类:如背景色、前景色,值域为可表示颜色的值
  ● 数值类:如控件的宽度或者高度,值域是数值,不能是其余文本
  ● 文本类:如控件的Label值,值域是字符串
  ● 布尔类:如控件是否可见,值域是布尔值
  ● 下拉类:如图片与文字的布局方式,值域是布局方式的枚举类
  02、设计期
  所有属性的设计期用例设计均可使用同一个模板,如下:
  说明:前置条件
  在xmal编写脚本新增控件
  1) 如果属性不能恢复为默认值,表示内部赋值逻辑有问题,将导致正常修改属性值
  2)设置为值域范围外的值,主要是为了校验数据输入的合法性,如果未做保护,将会增加业务开发引入BUG的可能性,大大影响用户体验
  3) 属性说明力求简洁清晰,辅助用户了解属性功能
  03、运行期
  属性运行期的场景较为复杂,但离不开一个核心,那就是对属性值的修改,修改后界面效果
  需要符合预期,获取的属性值必须正确。
  属性的修改一般有三个入口:
  1) 设计期,在属性设置窗口修改属性值,然后运行程序
  2) 运行期,通过代码修改属性的值
  3) 运行期,通过界面修改属性值,如在文本框中输入文字即修改了属性Value的值
  ● 颜色类
  颜色类运行期用例设计如下:
  说明:因为无法在界面中直接修改颜色的值,因此该场景无需测试。
  ● 数值类
  数值类运行期用例设计如下:
  说明:该例子为Width类属性运行期的用例设计。
  该类属性需要注意边界值的测试,如-1、0、1、最大值、最小值、小数等。
  如果该属性不能取负值,如上图中的例子,则需要测试代码中设置负值的场景,应不能设置
  成功,且无异常。
  ● 文本类
  文本类运行期用例设计如下:
  说明:该类属性除了边界值的测试外,还需要测试各种特殊字符的场景。
  ● 布尔类
  布尔类运行期用例设计如下:
  说明:
  布尔值类的测试场景较简单,主要是效果正确,且获取属性值正确。
  由于该属性在属性设计窗口不可见,只能通过代码修改,因此未区分是在属性设置窗口修改
  值还是在代码中。
  ● 下拉类
  下拉类运行期用例设计如下:
  说明:该类属性的测试也比较简单,因为值域固定,无需测试异常场景,只要下拉框中的值
  依次测试即可。
  ● 事件
  下拉类运行期用例设计如下:
  说明:
  1) 一个事件只能触发一次,触发多次则属于缺陷
  2) 事件多次触发一般发生在如下场景:
  ■ 较多功能点交叉
  ■ 不同场景重复切换
  04、总结
  控件测试工作量大,且易产生疲劳感,将属性进行归类,是测试规范化的一种体现,将让测
  试工作事半功倍:
  1) 提高用例编写效率,也为之后的用例评审理清了思路,同时提高了用例评审效率。
  2) 相同类型的用例一起执行亦可提高用例执行效率。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号