最近做了一个新项目 项目还在架构阶段 由于我们没有请Test Team 所以有些测试工作需要我们自己做 我被分到一个功能测试框架的工作
接下来我来说说 具体的实现思路。
1) 框架说明
我们的项目是分模块来做的,功能测试架构分为3大块。Framework(主要放一些功用方法,对selenium的简单封装),Modules下放的都是测试的function,一个function会有N个TEST STEP。TestUI下有两个,一个是为module测试用的,是一个winform程序,另一个是console,为整个项目的功能测试,同时也方便结合schedule task来跑,便于daily build后的测试。
2) 文件依赖
Framework->Modules(dll引用)
->TestUI(dll引用)
Modules->TestUI (project引用)
很简单拉, 呵呵。
3)运行
ModuleShell只是提供一个入口,其他的测试操作都是通过Modules里的方法来做的。
我们通过 selenium把脚本录制好,放到具体的方法里即可。由于是对module的测试,所以我会把该module下的所有function 列出来,
gridview里的东西便是具体的测试方法,如果不用测可以勾掉Enable。
由于是模块化的,在测试的时候,我只在ModuleShell的bin里放一个要测试的dll,那样我就能通过反射把该dll的所有方法读出来。
Test Shell的话,他的bin里会有所有的module dll,遍历所有的module dll, 把要做的test step都选出来。 然后再跑,
4)问题
功能化测试只是保证我的程序在功能上是否正确。所以说我们的test case首先要写对,其次是我们的这个框架也要有一定的错误报告功能。
因为我们无法避免程序在跑的时候不出问题,我们讨论下来,决定在每次postback之前和之后做一个check.
之前的话,主要是保证我点按钮的时候不要有客户端错误,就是验证控件的问题了。想法是在postback之前先去触发所有验证控件的验证,用javascript写的,代码 以后再贴出来吧。
之后的话,是防止sever端抛出来的错,我们会把server端抛出来的错放到一个专有的lable控件上,只要check是否有值就可以了。
我想这样就差不多了吧,一些普通的错可以及时报出来。
各位有什么想法说说吧,呵呵。