黑盒测试用例设计

这篇具有很好参考价值的文章主要介绍了黑盒测试用例设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言:

一、黑盒测试

二、实验目的

三、实验内容

四、实验步骤

五、实验过程

题目一

1、等价类划分表

2、设计测试用例

3、缺陷

4、代码实现

5、测试结果

 题目二

设计测试用例

题目一示例代码(java编写)

总结


前言:

软件质量保证与测试技术是软件工程的重要组成部分,它涉及到软件开发过程中的各个阶段,从需求分析到维护和更新。软件测试是软件质量保证的主要手段之一,它通过执行软件系统或其组成部分,检查其是否满足预期的功能和性能要求,以及是否存在缺陷或错误。软件测试可以分为静态测试和动态测试,静态测试是在不运行软件的情况下对其进行分析和评估,动态测试是在运行软件的情况下对其进行观察和验证。

黑盒测试用例设计是黑盒测试的关键步骤,它是根据软件的需求规格或功能说明,确定需要对软件进行哪些输入和输出操作,以及期望得到什么样的结果。黑盒测试用例设计的目标是尽可能覆盖软件的所有功能和边界条件,同时避免重复和冗余。黑盒测试用例设计的方法有很多,例如等价类划分、边界值分析、因果图法、正交实验法等。本实验将介绍其中最常用的两种方法:等价类划分和边界值分析,并通过一个简单的示例来演示它们的应用。

一、黑盒测试

黑盒测试是一种动态测试方法,它只关注软件的输入和输出,而不考虑软件的内部结构和实现细节。黑盒测试的优点是可以从用户的角度检验软件的功能正确性和可用性,而不受开发者的偏见和限制。黑盒测试的缺点是无法发现软件内部的逻辑错误和设计缺陷,也无法评估软件的效率和可靠性。因此,黑盒测试通常需要与白盒测试(一种考虑软件内部结构和实现细节的动态测试方法)相结合,以提高软件测试的覆盖率和质量。

二、实验目的

学会用等价类划分法和边界值法设计测试用例,进行功能测试。

三、实验内容

题目1:NextDate程序的功能是按年、月、日的顺序输入一个日期,输出为输入日期后一天的日期。请使用等价类和边界值法对NextDate程序进行黑盒测试。(NextDate程序源代码见文档最后附录A)

题目2:根据163邮箱地址的构成规则,为163邮箱注册模块中输入域“邮箱地址”设计测试用例(假设没有重复的用户名),注册界面请登录网址:163网易免费邮-你的专业电子邮局查看

四、实验步骤

(1)设计等价类划分表,可以参照下表的格式

等价类划分表

输入条件

有效等价类

无效等价类

(2)利用等价类划分法和边界值分析法设计测试用例

测试用例

用例编号

测试数据

预期结果

覆盖等价类或边界值

(3)运行测试程序,记录和分析测试结果,将测试中发现的BUG记录在下表中。

缺陷报告单

缺陷编号

缺陷描述

用例编号

实际结果

(4)在程序中加必要注释说明:创建日期、创建者、函数功能

(5)实验报告中要有运行结果截图。

(6)认真撰写实验心得。

五、实验过程

题目一

1、等价类划分表

黑盒测试用例设计

2、设计测试用例

黑盒测试用例设计

3、缺陷

黑盒测试用例设计

4、代码实现

示例代码是java代码,但在本文中,使用了C语言编写,示例代码会在文后给出

#include <stdio.h>

void NextDate(int year,int month,int day);

int main()//主函数 
{
    int year=0,month=0,day=0;
    printf("请输入年份:\n");
    scanf("%d",&year);
    while(!(year>=1811 && year<=2013))
    {
        printf("年份超过界限,请重新输入\n");
        scanf("%d",&year);
    }

    printf("请输入月份:\n");
    scanf("%d",&month);
    while (month>12||month<1)
    {
        printf("月份超过界限,请重新输入\n");
        scanf("%d",&month);
    }

    printf("请输入日期:\n");
    scanf("%d",&day);
    while (day>31||day<1)
    {
        printf("日期输入有误,请重新输入\n");
        scanf("%d",&day);
    }

    NextDate(year,month,day);

    return 0;
}

void NextDate(int year,int month,int day)//计算日期 
{
    if((year%4==0 && year%100!=0) || (year%400==0))  /*检查闰年*/
    {
        int i=0;
        i=day-29;
        while(month==2&&i>0)
        {
            printf("本月是闰月,请在1-29之间从新输入日期\n");
            scanf("%d",&day);
        }
        if(month==2&&day==29)
        {
            month=3;
            day=1;

        }
        else day++;
    }
    else day++;
    /*月底计算*/
        switch(month)
    {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
            if (day==32)
            {
                month++;
                day=1;
                printf("明天是:%d/%d/%d\n",year,month,day);
            }
            break;
        case 2:
        	if(day==28&&(year%4==0 && year%100!=0) || (year%400==0)){//计算闰年的2月 
        		
        			month=2;
        			day=29;
        			printf("明天是:%d/%d/%d\n",year,month,day);
				
			}
			break;
            if(day==29)//正常 
            {
                month=3;
                day=1;
                printf("明天是:%d/%d/%d\n",year,month,day);
            }
            break;
        case 4:
        case 6:
        case 9:
        case 11:
            if(day==31)
            {
                month++;
                day=1;
                printf("明天是:%d/%d/%d\n",year,month,day);
            }
            break;
        case 12:
            if(day==32)
            {
                year++;
                month=1;
                day=1;
                printf("明天是:%d/%d/%d\n",year,month,day);
            }
            break;
    }
printf("明天是:%d/%d/%d\n",year,month,day);
}

5、测试结果

黑盒测试用例设计

黑盒测试用例设计

黑盒测试用例设计

黑盒测试用例设计

黑盒测试用例设计

 题目二

设计测试用例

黑盒测试用例设计

题目一示例代码(java编写)

void NextDate(int year,int month,int day);
void main()
{
	int year=0,month=0,day=0;
	NextDate(year,month,day);
}

void NextDate(int year,int month,int day)
{
	printf("请输入年份:\n");
scanf(“%d”,&year);
	while(!(year>=1811 && year<=2013))
	{
		printf("年份超过界限,请重新输入\n");

scanf(“%d”,&year);
	}

	printf("请输入月份:\n");
scanf(“%d”,&month);
	while (month>12||month<1)
	{
		printf("月份超过界限,请重新输入\n");
scanf(“%d”,&month);
	}

	printf("请输入日期:\n");
scanf(“%d”,&day);
	while (day>31||day<1)
	{
		printf("日期输入有误,请重新输入\n");
scanf(“%d”,&day);
	}

    if((year%4==0 && year%100!=0) || (year%400==0))  /*检查闰年*/
	{
		int i=0;
		i=day-29;
		while(month==2&&i>0)
		{
			printf("本月是闰月,请在1-29之间从新输入日期\n");
scanf(“%d”,&day);
		}
		if(month==2&&day==29)
		{
			month=3;
			day=1;
	
		}
		else day++;
	}
	else day++;
	/*月底计算*/;
		switch(month)
	{
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
			if (day==32)
			{
				month++;
				day=1;
                printf("明天是:%d/%d/%d\n",year,month,day);
	}
			break;
		case 2:
			if(day==29)
			{
				month=3;
				day=1;
printf("明天是:%d/%d/%d\n",year,month,day);
			}
			break;
		case 4:
		case 6:
		case 9:
		case 11:
			if(day==31)
			{
				month++;
				day=1;
printf("明天是:%d/%d/%d\n",year,month,day);
		    }
			break;
		case 12:
			if(day==32)
			{
				year++;
				month=1;
				day=1;
printf("明天是:%d/%d/%d\n",year,month,day);
}
			break;
		}
printf("明天是:%d/%d/%d\n",year,month,day);
}

总结

这篇文章介绍了软件测试的概念和方法,其中黑盒测试是一种动态测试方法,它只关注软件的输入和输出,而不考虑软件的内部结构和实现细节。黑盒测试的优点是可以从用户的角度检验软件的功能正确性和可用性,而不受开发者的偏见和限制。黑盒测试的缺点是无法发现软件内部的逻辑错误和设计缺陷,也无法评估软件的效率和可靠性。因此,黑盒测试通常需要与白盒测试(一种考虑软件内部结构和实现细节的动态测试方法)相结合,以提高软件测试的覆盖率和质量。文章来源地址https://www.toymoban.com/news/detail-435383.html

到了这里,关于黑盒测试用例设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 肖sir__设计测试用例方法之因果图07_(黑盒测试)

    肖sir__设计测试用例方法之因果图07_(黑盒测试)

    设计测试用例方法之因果图 一、定义:因果图提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。其 中,原因是表示输入条件,结果是对输入执 行的一系列计算后得到的输出。 二、因果图方法最终生成的就是判定表。它适合于检查软件输入条件的各

    2024年02月09日
    浏览(9)
  • 肖sir__设计测试用例方法之场景法04_(黑盒测试)

    肖sir__设计测试用例方法之场景法04_(黑盒测试)

    设计测试用例方法之场景法 1、场景法主要是针对测试场景类型的,顾也称场景流程分析法。 2、流程分析是将软件系统的某个流程看成路径,用路径分析的方法来设计测试用例。根据流程的顺序依次进行组合,使得流程的各个分支能走到。 举例说明: 1》人事考勤系统:离职

    2024年02月10日
    浏览(10)
  • 肖sir__设计测试用例方法之判定表06_(黑盒测试)

    肖sir__设计测试用例方法之判定表06_(黑盒测试)

    设计测试用例方法之判定表 1、判定表:是一种表达逻辑判断的工具。 2、判定表:包含四部分 1)条件桩(condition stub):列出问题的 所有条件(通常条件次序无关紧要)。 2)条件项(condition entry):列出针对 它条件的取值(所有情况下的真假值) 3)动作桩(action stub):

    2024年02月10日
    浏览(10)
  • 软件质量保证与测试技术实验:白盒测试用例设计

    软件质量保证与测试技术实验:白盒测试用例设计

    目录 前言 一、白盒测试 二、实验目的 三、实验内容 四、实验步骤 五、实验过程 题目一 1、程序流程图 2、测试用例​​​​​​​ 3、测试代码 4、测试结果 题目二 1、控制流图 2、独立路径集合 3、测试用例  4、测试代码  5、测试结果 总结 白盒测试是一种基于程序内部

    2024年02月04日
    浏览(16)
  • 软件工程实验二----测试用例设计NEFU

    实验内容及结果: 题目:某 程序的功能规格说明如下: 输入一个日期(*年*月*日),通过计算输出该日期的前一天日期(比如,输入1999-3-6,则输出1999-3-5)。设所接收的输入日期的有效范围为1900年到2050年之间的某个日期。当输入日期无效时,输出日期值规定为:年为0,月

    2023年04月27日
    浏览(11)
  • 软件测试技术 实验一:黑盒测试1

    小组成员 小组成员 结对测试组成员 实验目的 能熟练应用黑盒测试技术进行测试用例设计,能对测试用例进行优化设计。 实验内容 “隔一天问题”程序要求如下:输入为年、月、日三个变量,输出为输入的隔一天后的年、月、日。例如,输入为2001年2月10日,则输出为2001年

    2024年02月02日
    浏览(15)
  • 正交实验法编写测试用例

    一、常见设计测试用例的方法: 语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖 语句覆盖:被测程序的每一个语句至少执行一次 判定覆盖:每个 判定 的 所有可能 结果 至少出现一次 条件覆盖:每个 条件 的所有可能 结果 至少出现一次 判定/条件

    2024年02月11日
    浏览(10)
  • 实验四 场景拆分与用例设计

    实验四 场景拆分与用例设计

    实验四 场景拆分与用例设计 一、实验目的 (1)理解场景和用例的概念,理解二者的差别和联系。 (2)掌握黑盒测试场景拆分方法,完成场景设计。 (3)设计测试用例,完成测试用例的编写。 (4)在 TC 下创建用例树。 二、实验环境 (1)Windows操作系统 (2)测试管理工

    2024年02月04日
    浏览(20)
  • 测试用例设计——WEB通用测试用例

    测试用例设计——WEB通用测试用例

    现在项目做完了,我觉得还是有必要总结一下, 学习 到的内容。毕竟有总结才能有提高嘛!总结一下通用的东西,不管什么项目基本都可能会遇到,有写地方也有重复的或者有的是按照个人的习惯来总结的不一定都对,有不对的地方还是希望大家可以指正! 易用性 1、便于

    2024年04月23日
    浏览(6)
  • 软件测试之 测试用例 如何设计

    软件测试之 测试用例 如何设计

    在软件开发过程中,测试是一个至关重要的环节,它有助于确保软件的质量和稳定性。而测试用例设计则是测试过程中的一个关键步骤,它帮助测试团队确定如何测试软件以发现潜在的问题和缺陷。本文将介绍测试用例设计的基本概念和步骤,以及一些最佳实践。 测试用例是

    2024年02月08日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包