单元测试报告

时间:2024.3.31

                       单元测试报告

                             123012011112 陈星

1引言

1.1编写目的

根据测试计划报告,对软件进行测试,详细记录测试过程,以对软件的质量进行评价,为软件设计人员提供BUG依据,故做产生测试分析报告。

1.2背景

本次测试报告为期末项目大学生兼职网的单元测试总结报告,创建,修改,删除的数据测试,注册功能的单元测试,通过分析测试结果,描述系统是否符合大学生兼职网的需求。预期参考人员包括用户、测试人员、开发人员、项目管理者、质量管理人员和需要阅读本报告的高层经理

1.3定义

单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

2、测试结果


第二篇:单元测试实践报告


第三章 单元测试实践

一、实验目的

1、 掌握白盒测试方法,并按单元测试的要求设计测试用例。

2、能熟练应用自动化单元测试工具进行单元测试;

掌握如何制定测试计划

二、实验内容

掌握白盒测试的基本理论,能够利用白盒测试理论设计测试用例,并在所开发的软件中进行测试。白盒测试技术要求掌握语句覆盖、分支覆盖、路径覆盖等白盒测试用例设计方法,

自动化测试是对手工测试的有益补充,可以通过自动化测试工具提高测试效率,改善软件产品质量。NUnit是为.Net开发环境准备的自动化单元测试框架,JUnit是针对Java语言设计的自动化单元测试工具,它们的作用就是帮助测试人员方便的完成单元测试工作,本项目要求利用NUnit/JUnit对软件开发过程中的软件模块进行单元测试。

Visual Studio 2010集成开发环境通过集成Visual Studio Ultimate 2010和VS Test Professional 2010等工具对软件测试提供了强有力的支持,可以创建和管理单元测试,UI测试,web测试,负载测试等。本项目要求熟悉利用Visual Studio.2010进行单元测试,UI测试,web测试,负载测试。

本实验要求采用任一所熟悉的开发语言、实现任一给定题目或自选题目(注意:最后给出的是基于对话框的程序),利用白盒测试技术设计测试用例,进行单元测试。根据所设计测试用例,采用NUnit/JUnit/VS2010实现自动化测试,并给出代码覆盖情况。

1、三角形问题

接受三个整数a、b和c作为输入,用做三角形的边。程序的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等边三角形。(说明:三边边长小于200)

2、电话号码问题

某城市电话号码由三部分组成。它们的名称和内容分别是:

地区码:空白或三位数字;

前 缀:非'0'或'1'的三位数字;

后 缀:4位数字。

假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。

3、保险公司计算保费费率的程序

某保险公司的人寿保险的保费计算方式为:

投保额×保险费率

其中,保险费率依点数不同而有别,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由 投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如下:

表3-1

4、某公司薪水计算程序

某软件的一个模块的需求规格说明书中描述,如图3-1所示:

(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。

(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。

5、公交一卡通自动充值软件

单元测试实践报告

单元测试实践报告

图3-1

图3-2

6、两位整数加法计算器

单元测试实践报告

单元测试实践报告

图3-3

三、实验要求

1、 独立完成;

2、 提交源代码,源代码中应包含必要的注释(注释量占代码的20%以上);

3、 提交可执行程序;

4、 提交测试用例说明书及缺陷报告。

说明:

有两份源代码,一份是直接写在测试用例中的,另一份则是可执行文件的源代码 单元测试源代码:

using System;

using System.Text;

using System.Collections.Generic;

using System.Linq;

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace Salary

{

/// <summary>

/// UnitTest1 的摘要说明

/// </summary>

[TestClass]

public class UnitTest1

{//至于为何不用bool,一是bool比int多敲一次键盘,二是true和false比1、2多敲3和4次键盘

int flag_year;//年薪制还是月薪制

int flag_mistake;//是否有过失

单元测试实践报告

int mistake_level;//过失严重程度

double riskfund=10000;//年终风险金,不过在exe里我把年钟风险金换成了年薪 double monthsalary=2000;//月薪

public UnitTest1()

{

//

//TODO: 在此处添加构造函数逻辑

//

}

private TestContext testContextInstance;

/// <summary>

///获取或设置测试上下文,该上下文提供

///有关当前测试运行及其功能的信息。

///</summary>

public TestContext TestContext

{

get

{

return testContextInstance;

}

set

{

testContextInstance = value;

}

}

#region 附加测试特性

//

// 编写测试时,可以使用以下附加特性:

//

// 在运行类中的第一个测试之前使用 ClassInitialize 运行代码

// [ClassInitialize()]

// public static void MyClassInitialize(TestContext testContext) { }

//

// 在类中的所有测试都已运行之后使用 ClassCleanup 运行代码

// [ClassCleanup()]

// public static void MyClassCleanup() { }

//

// 在运行每个测试之前,使用 TestInitialize 来运行代码

// [TestInitialize()]

// public void MyTestInitialize() { }

//

// 在每个测试运行完之后,使用 TestCleanup 来运行代码

// [TestCleanup()]

// public void MyTestCleanup() { }

//

#endregion

public int[] Salary(int [,]list)

{

int []re_list=new int[8];

for (int i = 0; i < list.Length/3; i++)//Test_Method中的list是个3X8的二维数组,所以取长度/3

{

flag_year = list[i, 0]; flag_mistake = list[i, 1]; mistake_level = list[i, 2]; /*bool error_flag = true;

Console.WriteLine("年终风险金:" + riskfund + " " + "月薪:" + monthsalary);

while (error_flag)

{

Console.WriteLine("输入员工薪水类型(1.年薪制 2.月薪制):"); if (Console.Read() == '1')

{

flag_year = true;

error_flag = false;

}

if (Console.Read() == '2')

{

flag_year = false;

error_flag = false;

}

else

{

Console.WriteLine("薪水类型输入错误");

}

}

error_flag = true;

while (error_flag)

{

Console.WriteLine("输入员工是否存在过失(1.有 2.无):"); if (Console.Read() == '1')

{

flag_mistake = true;

error_flag = false;

}

if (Console.Read() == '2')

{

flag_mistake = false;

error_flag = false;

}

else

{

Console.WriteLine("员工是否存在过失输入错误"); }

}

error_flag = true;

while (error_flag)

{

Console.WriteLine("输入员工过失情况(1.有 2.无):"); if (Console.Read() == '1')

{

mistake_level = true;

error_flag = false;

}

if (Console.Read() == '2')

{

mistake_level = false;

error_flag = false;

}

else

{

Console.WriteLine("员工过失情况输入错误"); }

}*/

riskfund = 10000;

monthsalary = 2000;

if (flag_year == 1)

{

if (flag_mistake == 1)

switch (mistake_level)

{

case 0:

riskfund = (1 - 0.02) * riskfund;

break;

case 1:

riskfund = (1 - 0.04) * riskfund;

break;

}

//Console.WriteLine("年终风险金:");

re_list[i] = (Int32)riskfund;

}

else if (flag_year == 0)

{

if (flag_mistake == 1)

switch (mistake_level)

{

case 0:

monthsalary = (1 - 0.04) * monthsalary;

break;

case 1:

monthsalary = (1 - 0.08) * monthsalary;

break;

}

//Console.WriteLine("月薪:");

re_list[i] = (Int32)monthsalary;

}

}

return re_list;

}

[TestMethod]

public void TestMethod1()

{

int[,] list = new int[,] { { 0, 0, 0 }, { 0, 0, 1 }, { 0, 1, 0 },{0,1,1}, { 1, 0, 0 }, { 1, 0, 1 }, { 1, 1, 0 }, { 1, 1, 1 } };

/*list就相当于flag集,得出的结果为0%,2%,4%,8%,本来想试试用用逻辑门电路能不能简少代码量,不过想想还是算了

000,001,010,011,100,101,110,111

*/

int [] actual=new int[8];//这个就是结果(最终年薪?/风险金、月薪)存放的地方了 int [] expected_list=new int[]{2000,2000,1920,1840,10000,10000,9800,9600};//预计中对应0,2%,4%,8%四种rate的结构

actual=Salary(list);

for (int i = 0; i < list.Length / 3;i++ )

Assert.AreEqual(expected_list[i], actual[i]);

//

// TODO: 在此处添加测试逻辑

//

}

}

}

可执行源代码

单元测试实践报告

using ;

using System.Collections.Generic; using System.ComponentModel; using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks; using System.Windows.Forms;

namespace salary

{

public partial class Form1 : Form

{ int flag_year=0;

int flag_mistake=0;

int mistake_level=0;

double rate = 0;

double monthsalary;

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

}

private void textBox3_TextChanged(object sender, EventArgs e) {

monthsalary=Convert.ToDouble(textBox3.Text);

}

private void radioButton1_CheckedChanged(object sender, EventArgs e) {

flag_year = 1;

}

private void radioButton2_CheckedChanged(object sender, EventArgs e) {

flag_year = 0;

}

private void radioButton5_CheckedChanged(object sender, EventArgs e) {

flag_mistake = 0;

}

private void radioButton4_CheckedChanged(object sender, EventArgs e) {

flag_mistake = 1;

mistake_level = 1;

}

private void radioButton3_CheckedChanged(object sender, EventArgs e) {

flag_mistake = 1;

mistake_level = 2;

}

private void textBox6_TextChanged(object sender, EventArgs e) {

}

private void textBox5_TextChanged(object sender, EventArgs e) {

}

private void button1_Click(object sender, EventArgs e)

{

if (flag_year == 1)

{

if (flag_mistake == 1)

{

if (mistake_level == 1)

{

textBox6.Text = "2%";

rate = 0.02;

}

else

{

textBox6.Text = "4%";

rate = 0.04;

}

}

else

{

textBox6.Text = "0%";

rate = 0;

}

}

else

if (flag_mistake == 1)

{

if (mistake_level == 1) {

textBox6.Text = "4%";

rate = 0.04;

}

else

{

textBox6.Text = "8%";

rate = 0.08;

}

}

else

{

textBox6.Text = "0%";

rate = 0;

}

if (flag_year == 1)

{

textBox5.Text = Convert.ToString(monthsalary * 12 * rate); textBox4.Text = Convert.ToString(monthsalary * 12*(1-rate)); }

else if (flag_year == 0)

{

textBox5.Text = Convert.ToString(monthsalary * rate); textBox4.Text = Convert.ToString(monthsalary*(1-rate)); }

}

private void textBox4_TextChanged(object sender, EventArgs e) {

}

}

}

单元测试实践报告

单元测试实践报告

单元测试实践报告

更多相关推荐:
软件单元测试报告

北华航天工业学院软件工程单元测试报告报告题目图书借阅系统单元测试作者所在系部计算机科学与工程系作者所在专业计算机应用技术作者所在班级作者姓名王邵南指导教师姓名完成时间1目录1引言311编写目的312背景313定...

单元测试报告

编号SHRCD0832版序改次D2xxx单元测试报告文档作者审核批准日期日期日期重庆南华中天信息技术有限公司文档名称xxx单元测试报告文档编号文档编号版本号Vxx文档历史发放及记录重庆南华中天信息技术有限公司1...

单元测试报告

单元测试报告校园招聘系统单元测试报告第1页共11页单元测试报告测试情况第2页共11页单元测试报告第3页共11页单元测试报告第4页共11页单元测试报告第5页共11页单元测试报告第6页共11页单元测试报告第7页共1...

单元测试报告-模板

XXX系统单元测试报告建设单位:________________________监理单位:________________________承建单位:________________________1.编写目的.…

系统单元测试 用例测试 报告

学生信息管理系统单元测试报告二零一零年十二月二日1编写目的11为了保证学生信息管理系统的各项功能可靠的实现特编写了此测试计划对所开发软件的各功能模块和事例进行测试12学会使用简单的单元测试工具对系统模块进行测试...

单元测试验收报告模板

技术文件技术文件名称Telindusxxx单元测试验收报告技术文件编号版本共6页包括封面拟制审核会签标准化批准特灵达新时技术有限公司Telindusxxx单元测试验收报告修改记录共5页第1页Telindusxx...

单元测试报告模板

XXX项目单元测试报告有限公司版本编制人日期审核人日期审批人日期版本修订记录目录1目的22测试过程221测试用例1222测试用例233测试产品44总结41目的对单元测试的结果进行整理和汇总并形成正式的测试文档为...

程序开发部单元测试报告模版

项目名projectEnglishname单元测试报告作者贡献者创建时间稳定程度修改历史目录12345总述1测试时间地点及人员1环境描述1总结和评价141测试结果统计142被测软件的全面评估143测试总结144...

自然数单元测试报告

自然数单元测试报告1编写目的编写本单元测试报告的目的在于1对单元测试结果进行整理和汇总形成正式的测试文档2为软件单元的评审验收提供依据3纳入软件产品配置管理库2软件单元描述简单描述被测试单元或与之相关单元的产品...

三年级数学单元测试与评价分析报告

三年级数学单元测试与评价分析报告长阳县花坪小学李德兰一组织考试情况本次考试由任课教师统一制卷考试程序规范严格遵守考试时间老师自己负责监考和阅卷严肃考纪考风好成绩真实可信二试题评价本次试卷难易适度题型多样体现了新...

单元测试报告模板

单元测试报告一测试时间地点和人员测试时间20xx年9月30日测试地点机房测试人员及采用测试方法韦建高基本路径测试二测试环境描述操作系统WindowsXP测试工具NUnit编程环境MicrosoftVisualS...

《××项目单元测试报告》

文档编号版本号单元测试报告项目名称项目名称项目单元测试报告文档信息变更记录变更审阅公司名称版本号2项目名称项目单元测试报告一引言1编写目的这部分说明文档编写目的描述本系统特点及使用数据仓库技术实现的业务目标2背...

单元测试报告(36篇)