zoukankan      html  css  js  c++  java
  • 软件测试作业三

    201631062417,201631062617

    代码地址:https://gitee.com/rmbdswd/WordCount

    作业地址:https://edu.cnblogs.com/campus/xnsy/Test/homework/2203

    一、功能简介

    1.基础功能

    wc.exe -c file.c     //返回文件 file.c 的字符数

    wc.exe -w file.c     //返回文件 file.c 的单词总数

    wc.exe -l file.c     //返回文件 file.c 的总行数

    wc.exe -o outputFile.txt     //将结果输出到指定文件outputFile.txt

    2.拓展功能

    wc.exe -s            //递归处理目录下符合条件的文件

    wc.exe -a file.c     //返回更复杂的数据(代码行 / 空行 / 注释行)

    wc.exe -e stopList.txt  // 停用词表,统计文件单词总数时,不统计该表中的单词

    [file_name]: 文件或目录名,可以处理一般通配符

    二、代码互审与合并

    代码由两人合作完成,相互交流,分工合作,定期查看进度。

    三、静态检查

    第一次静态测试结果:

    修改后进行第二次静态测试结果

    利用visual studio的静态测试工具,共修改5个警告,0个错误

     四、单元测试

    1.负责 FileHelper 的单元测试

    using System;
    using System.IO;
    using System.Collections.Generic;
    using NUnit.Framework;

    using WordCount;

    namespace Test
    {
        [TestFixture]
        public class FileHelperTest
        {
            [Test]
            public void TestGlob() {
                List<string> result = FileHelper.Glob(Path.Combine(GetResourcePath(), "h*.c"));
                
                Assert.AreEqual(1, result.Count, "文件数目错误,不为一");
                Assert.True(result[0].Contains("hello.c"), "未找到目标文件");
            }
            
            [Test]
            public void TestRecursiveGlob() {
                List<string> result = FileHelper.RecursiveGlob(Path.Combine(GetResourcePath(), "h*.c"));
                
                Assert.AreEqual(2, result.Count, "文件数目错误,不为二");
                Assert.True(result[0].Contains("hello.c"), "未找到目标文件");
            }
            
            /// <summary>
            /// 获取资源文件的路径
            /// </summary>
            private string GetResourcePath() {
                string projectDirectory = Path.GetDirectoryName(
                    Path.GetDirectoryName(TestContext.CurrentContext.TestDirectory));
                return Path.Combine(projectDirectory, "Resource");
            }
        }
    }

    2.负责 ParserArgumen 的单元测试

    using System;
    using NUnit.Framework;

    using WordCount;

    namespace Test
    {
        [TestFixture]
        public class ArgParserTest
        {
            [Test]
            public void TestParserArgument()
            {
                // 正确参数解析
                string[] args1 = new string[] {"-c", "-w", "input.txt", "-o", "TestResult.txt"};
                
                ArgParser parser1 = ArgParser.ParserArgument(args1);
                
                Assert.AreEqual("input.txt", parser1.InputFileName, "输入文件获取错误");
                Assert.AreEqual("TestResult.txt", parser1.OutputFileName, "输出文件获取错误");
                
                Assert.True(parser1.SelectedOptions.Contains("-c"));
                Assert.True(parser1.SelectedOptions.Contains("-w"));
                
                // 参数格式错误
                string[] args2 = new string[] {"-m", "input.txt", "-o", "TestResult.txt"};
                 
                ArgParser paser2 = ArgParser.ParserArgument(args2);
                Assert.AreEqual("-m", paser2.ErrorOption, "未找到错误参数");
            }
        }
    }

    运行结果:

     DomainUsage: Single
    .......
    Tests run: 7, Errors: 0, Failures: 0, Inconclusive: 0, Time: 1.56569747217175 seconds
      Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0

    五、性能测试

  • 相关阅读:
    第七天 安卓 4大组件
    第六天 页面跳转和数据传递
    第五天 断点续传和下载
    objective-c里的protocol
    Cocos2d-x的屏幕适配
    CocosBuilder的Inspector及让Text View实时更新内容+binding控件到基类成员
    几个输出注意点
    Xcode
    Category、Extension
    iOS内存管理
  • 原文地址:https://www.cnblogs.com/rmbdswd/p/9824436.html
Copyright © 2011-2022 走看看