技术开发 频道

NET软件测试指南

【IT168 技术文章】

  第一章    用.NET自动测试软件 

  1.1    测试人员需要了解得.NET编码知识

  如何访问.NET Framework内部的库函数,返回平台、文件、注册表、操作系统等相关信息。

  如何用基本空间创建一个前端,以查看测试信息和结果。

  如何快速、方便的访问数据库。

  如何访问Windows注册表,返回相关的应用程序信息。

  1.2    用.NET语言进行测试的原因

  .NET Framework库有许多支持测试过程的功能。例如:有许多内部函数可以返回测试平台和被测试的应用程序的重要信息。.NET的Shell函数和SendKeys类函数可以用于运行应用程序,操作其图形用户界面。Visual Studio Database Tools可以连接数据库,检查其结构和数据。还可以自己编写测试工具,例如负载测试程序。.NET语言还可以用于测试应用程序的许多后台操作。例如,可以编写脚本来访问系统环境变量和性能计数器。

  1.3 项目是否应该使用自动测试

  1、项目和人员问题需要考虑

  自动策测试的范围有多大?如果目标是自动完成所有的测试任务,这个范围就是比切实际。如果试图把自动测试与已有的项目或新项目合并起来,最好从小一些的好管理的目标开始。

  测试人员的水平如何?经验和水平决定了我们所能承担的自动测试级别。

  有多少高水平的测试人员?

  2、产品问题

  所有测试的应用程序的功能是否相对稳定。如果不稳定,在应用程序发生变化时,就需要修改所编写的测试代码。如果过早的进入自动测试,就会陷入不断修改测试代码的泥潭。自动测试比较适合于结构和组件相对稳定的产品。

  是否计划测试UI?产品是基于GUI的吗?如果项目用于测试应用程序的GUI,某些自动测试工具就比较好。.NET语言可以用于某种程度的GUI测试,但需要编写大量的代码。因此,大多数情况下,不应该选择用.NET进行大量基于GUI的测试。

  产品中是否有重复运行测试代码的领域。任何重复的任务都应选择自动测试。计算机能很好的执行重复的任务。

  产品需要兼容多种平台吗?自动测试脚本可以解决一些兼容问题。

  产品的规模和预算足以支持自动测试吗?

  1.4为自动测试组建一个团队

  如果公司有一个包含10人的测试团队,则组成应是:

  4-5位测试人员精通传统的手工测试过程。

  3位测试人员擅长使用自动测试工具

  2-3位测试人员擅长软件开发。

  第二章 理解.NET测试选项

  2.1用于测试的.NET命名空间

  测试人员必须完成的一个重要的工作是,查找并返回如下信息:应用程序在运行时的信息、系统在运行应用程序之前、之后和运行过程中的状态信息。要想学习如何获取重要的系统信息,首先要理解如何使用.NET命名空间。

  用于测试的一些重要的命名空间有下面几个:

    System.IO

   System.Data

   System.Text.ReguarExpressions

   Microsoft.Win32

   System.Web

   Microsoft.VisuaStudio.TestToos

   Microsoft.VisuaBasic

   System.Diagnostics
 


  在后面将作详细解释。

  打开Visua Studio.NET从View->Object Browser中可以看到一些命名空间,以及包含用于测试的例程。

  2.2使用System.IO命名空间中的Exists函数

  Exists可以判断文件是否存在。被测的应用程序在运行期间常常会创建文件,包括永久文件和临时文件,因此可以用Exists函数来确定应用程序运行时是否创建或删除了适当的文件。

  例:

 

      using System;
  using System.Coections.Generic;

  using System.ComponentMode;

  using System.Data;

  using System.Drawing;

  using System.Text;

  using System.Windows.Forms;

  using System.IO;

   namespace firsttest

  {

   pubic partia cass Form1 : Form

   {

   pubic Form1()

   {

   InitiaizeComponent();

   }

   private void button1_Cick(object sender, EventArgs e)

   {

   if (Fie.Exists(textBox1.Text))

   MessageBox.Show("Fie Exists:Test passed");

   ese

   MessageBox.Show("Fie doesn't Exists:Test faiure");

   }

   }

  }
 

  2.3 用控制台应用程序创建测试软件

  如果希望应用程序返回系统的某些信息,但不必坐下来输入数据,并相应应用程序,让软件在无人操作的情况下自动执行操作,可以不使用windows窗体应用程序,而是用控制台应用程序。

  控制台应用程序可以访问三种基本数据流:

  标准输入:进入程序的数据

  标准输出:程序生成的数据

  标准错误:表示一种特殊的数据:错误信息。

  例:

  新建一个控制台应用程序,检查文件的存在性

using System;
using System.Collections.Generic;

using System.Text;

using System.IO;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine();

Console.WriteLine(Enter the file to find or enter 'Q' to Quit);

string strInput = ;

while (strInput != Q)

{

strInput = Console.ReadLine();

if (File.Exists(strInput))

Console.WriteLine(File ExistsTest passed);

else

Console.WriteLine(File doesn't ExistsTest failure);

Console.WriteLine(Enter the file to find or enter 'Q' to Quit);

}}}}
 


  这些代码类似于2.2 中为windows窗体编写的代码,但有两个主要区别:第一,用console类读写消息。第二个区别是必须使用循环结构,让用户继续查找文件。

  专业的测试人员可能比较挑剔,会在这里多考虑一下,更多地了解可以在控制台应用程序中提供什么,以满足用户的需求。

0
相关文章