2011软件水平考试软件测评师测试技术辅导(6)3
Feature属性,我们现在不讲,NModel用这个属性来标识一个大的功能。
另外要注意的是,在NModel里面,集合Set、Map是不可变的,即创建好了以后,就不能从里面删除和添加新元素了。每一次修改都会创建一个新的Set、Map实例。所以你会看到类似下面的用法:
ActiveLoginRequests = ActiveLoginRequests.Add(user, LoginStatus.Success);
最后,你需要采用一个工厂模式的方式,告诉NModel分析哪一个Feature,创建测试用例
public class WebSiteModel
{
public static ModeState State = ModeState.Initializing;
public static ModelProgram CreateLoginModel()
{
return new LibraryModelProgram(typeof(WebSiteModel).Assembly,
"TrainMode", new Set("Login"));
}
[Action]
public static void Initialize()
{
State = ModeState.Running;
}
public static bool InitializeEnabled() { return State == ModeState.Initializing; }
public static Set UsersLoggedIn = Set.EmptySet;
}
编译通过以后,先用NModel提供的图形化模型验证工具查看一下生成的模型是否正确。NModel自带的mpv.exe是用来验证模型的,但是 mpv.exe使用到一个图形布局程序GLEE需要单独下载,下载后,将Microsoft.GLEE.*.dll拷贝到NModel的bin文件夹里,就可以执行mpv.exe了。
使用下面的命令查看生成的模型:
"d:Program FilesNModelbinmpv.exe" /r:TrainMode.dll TrainMode.WebSiteModel.CreateLoginModel
生成的模型应该如下图所示:
下图是放大后的结果:
如果查看模型以后,觉得没有问题,就可以生成测试用例了,这里先生成手工的测试用例,下一篇再介绍如何生成自动化的测试用例。
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>