此文档为部分测试文档内容,仅作展示使用,详细可在项目文件夹中查看
- 对去噪算法的测试
读取指定网页的数据,如果网页的编码格式不匹配,返回NULL;如果匹配,则对网页进行去噪处理,最后将成功获得的去噪后网页信息存入指定路径。具体的,我们针对Denoising类的代码测试了我们认为比较重要的几个关键点:
测试了Denoising()构造器的正确性。
对exception的处理:路径过长,未找到文件。
对数据的去噪结果。
public void DenoisingDataConstructorTest()
{
DenoisingData target = new DenoisingData();
target.path=”filefortest//1.html”
Assert.IsNotNull(target.denoisingdata);
target.path=”filefortest//notexist.html”
}
此后,我们手工检查了去噪效果,发现网页中的制表符,换行符都被替换为了空格,说明去噪成功。
- 对网页信息提取功能的测试
提取了百度知道、stackoverflow、搜搜问问、cnblogs以及德问共五个网站的信息,本功能需要把每个网页(也就是一个提问)的标题、分类以及回答数提取出来,再将其插入数据库,核心是如何准确提取信息。为了得到测试结果,让被测方法返回其提取的信息,与人工提取的信息进行对比。下面以某个百度知道网页为例对测试过程进行详解:
/// <summary>
///baiduzhidaoprocess 的测试
///</summary>
[TestMethod()]
public void BaiduzhidaoTest()
{
MainWindow target = new MainWindow();
string result = target.baiduzhidaoprocess("C:\C705\filesfortest\1.htm", "");
Assert.AreEqual(result, "最近有哪些畅销书籍,请推荐一下?_百度知道");
}
当前令baiduzhidaoprocess方法返回问题的标题字段,检测它是否提取正确。
之后,再逐一改变原方法的返回字段,验证对其他信息的提取是否正确。
在此轮测试中,我们首先发现了正则表达式不能完全匹配网页的问题,经与开发组同学协商发现是没有统一编码造成的问题,将测试组与开发组使用的网页文件全部转换为UTF8以后,得以解决。
另外,有的网页中同一内容存在不同的标签下,在测试中发现该问题后,也统一修改成了使用最简单的一组标签进行提取,经测试无误。