软件测试第六周学习笔记之“Win8 APP应用程序的白盒测试”

这周的学习笔记我想写点自己关于实验中碰到的问题和感想。

因为这次做的是白盒测试,所以我决定去测试一下上回测试的app的功能函数。

这次我用的是单元测试项目来做的白盒测试:

创建单元测试的步骤:

1.点击 “文件”->“添加”->“新建项目”

2.选择 windows应用程序-> 单元测试项目

3.在解决方案资源管理器中为单元测试项目下的引用上右击选择添加引用

4.选择解决方案下的项目中的用来测试的win8应用

接下来是单元测试的代码部分的编写了:

我要测试的是该项目中的一个字符串转化编码的函数,函数的功能是把字符串从gb2312编码转成utf8

public string GB2312ToUTF8(string str)
       {
             try
                {  
                Encoding uft8 = Encoding.GetEncoding("UTF-8");
                Encoding gb2312 = Encoding.GetEncoding("GBK");
                byte[] temp = gb2312.GetBytes(str);  
                byte[] temp1 = Encoding.Convert(gb2312, uft8, temp);
                string result = uft8.GetString(temp1,0,temp1.Length);
                return result;
                }  
                catch(Exception ex)//(UnsupportedEncodingException ex)
                {
                    return null;
                }
        }

这是原函数的代码部分,然后在单元测试UNITTEST1.cs文件中加入下面这句话引用被测试项目的namespace

  using 这是猜灯谜游戏;

紧接着就是编写测试函数了,我写的TestMethod1:

public void TestMethod1()
        {
            gamePage gp = new gamePage();
            string str = "猜灯谜";
            Encoding uft8 = Encoding.GetEncoding("UTF-8");
            Encoding gb2312 = Encoding.GetEncoding("GBK");
            byte[] temp = gb2312.GetBytes(str);
            byte[] temp1 = Encoding.Convert(gb2312, uft8, temp);
            string result = uft8.GetString(temp1, 0, temp1.Length);

string output = gp.GB2312ToUTF8(str);
            Assert.AreEqual(result, output);
        }

在这个函数中创建一个测试用例用来测试函数的功能是否如预期所示,然后自己做一遍编码的转换存到

字符串result中,最后创建一个断言判断单元测试中的函数输出结果和预期结果result是否一致。

然后我就去运行了一下这个单元测试项目,结果是这样的:

然后我就去寻找原因了,最后我总结了一下出现这个结果的原因:

我觉得这是因为被测试项目本身是一个win8应用,里面的类文件都是控制布局的类文件,也就是说都是UI对象的类,

所以运行之后会提示请使用UI的编码测试,而不是单元测试,要解决这个问题就只能换一个有自己的功能类的win8应用,

但是大家写的都是功能嵌入在布局类中的win8应用,所以没法解决这个问题。

时间: 2024-10-12 11:57:15

软件测试第六周学习笔记之“Win8 APP应用程序的白盒测试”的相关文章

《Linux内核分析》第六周学习笔记

<Linux内核分析>第六周学习笔记 进程的描述和创建 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 [学习视频时间:1小时 撰写博客时间:2小时] [学习内容:进程创建的过程.使用gdb跟踪分析内核处理函数sys_clone] 一.进程的描述 1.1 进程描述符task_struct数据结构(一) 1. 进程控制块PCB——task_struct 为了管理进程,内核

第十六周学习笔记

本周的学习笔记主要关于MY SQL日志 1.查询日志是否开启 2.查看慢查询日志 3.查看二进制日志 4.删除所有二进制日志文件 RESET MASTER; 5.只删除部分二进制日志文件 PURGE MASTER LOGS; 原文地址:https://www.cnblogs.com/lzy35/p/8111445.html

Linux内核分析——第六周学习笔记

进程的描述和进程的创建 前言:以下笔记除了一些讲解视频中的概念记录,图示.图示中的补充文字.总结.分析.小结部分均是个人理解.如有错误观点,请多指教! PS.实验操作会在提交到MOOC网站的博客中写.

《深入理解计算机系统》第六周学习笔记

第四章 处理器体系结构 (一)知识点总结 一.Y86指令集体系结构 1.Y86处理器状态类似于IA32,有8个程序寄存器: %eax.%ecx.%edx.%ebx.%esi.%edi.%esp.%ebp.处理器的每个程序寄存器存储一个字.%esp被入栈.出栈.调用和返回指令作为栈指针. 2.3个一位的条件吗:ZF.SF.OF,它们保存最近的算术或逻辑指令所造成影响的有关信息.程序计数器PC存放当前正在执行指令的地址. 3.程序状态的最后一个部分是状态码stat,它表明程序执行的总体状态 4.Y8

Linux内核分析——第六周学习笔记20135308

第五周 进程的描述和进程的创建 一.进程描述符task_struct数据结构 1.操作系统三大功能 进程管理 内存管理 文件系统 2.进程控制块PCB——task_struct 也叫进程描述符,为了管理进程,内核需要对每个进程进行描述,它就提供了内核所需了解的进程信息. struct task_struct数据结构很庞大,1235行~1644行 3.Linux进程状态 Linux进程的状态与操作系统原理中的描述的进程状态有所不同 操作系统状态: 就绪态 运行态 阻塞态 linux进程状态: 4.

《机电传动控制》第六周学习笔记

这门课与之前学习的课程的联系: 1.首先这门课有两门基础的课程,就是<大学物理>和<电路基础>,通过这两门课程的学习基础,才能去理解<机电传动控制>课程内的一些原理性内容.比如说对直流电动机电路的分析,以及对三相交流电机的分析 ,这在之前的课程里都有提到过,因此有十分紧密的联系. 2.这门课学习的知识可以运用到<数控技术>中,如数控机床中经常会用到步进电机和伺服电机,因此学好电机,方便对数控机床进行理解. 3.这门课的学习与<工程控制理论>这门课

机电传动控制第六周学习笔记——《机电传动控制》和其他课程的联系

机电传动控制就目前学习的情况来看电学方面的东西比较多,但是与其他非电类的课程也有很多联系. 1.电机原理的部分主要是和基础物理学里面的内容有很大关系,比如电磁感应,楞次定律等等,从基础的物理原理讲起: 2.进入控制部分以后我们见到了很多电机,建模的时候有数学建模的思想,利用自定义的参数的变化得到电机随时间的运行状况仿真,并通过探讨这些参数的敏感性牺牲不敏感参数找到整体的最优解: 3.编程的思想和C语言很类似.逻辑性和面向过程编程都很重要: 4.控制时使用的继电器-接触器控制电路与电路的分析很类似

学习笔记-第六周-学习笔记

<机电传动控制>和其他课程的联系 1.机电传动控制与液压/气压传动控制的联系.机电控或制与液压(气压)控制的一个共性就是把另外一种形式的能量(电能.压差能)与机械能之间相互转换的过程.而且物理量特性比较相似,机电传动控制中的电压对应液压传动中的压力(水头),电流对应流量,电阻对应流阻等等.两者抽象成数学公式后具有类似的数学分析方法和过程. 2.机电传动控制与系统动力学的联系.研究机电系统的的动态响应就是研究动力学的过程,如何提高一个机电系统的动态响应性能完全可以将系统动力学的的知识加以运用.在

第五第六周学习笔记

1.几种主要的低压接地系统的概念:TN,TT,IT ( 1 ) TT 方式供电系统    ( 2 ) TN 方式供电系统 这种供电系统是将电气设备的金属外壳和正常不带电的金属部分与工作零线相接的保护系统,称作接零保护系统,用 TN 表示.它的特点如下 ( 3 ) TN-C 方式供电系统      它是用工作零线兼作接零保护线,可以称作保护中性线,可用 NPE 表示,如图 1-3 所示.这种供电系统的特点如下.   ( 4 ) TN-S 方式供电系统 它是把工作零线 N 和专用保护线 PE 严格分