C语言——白盒测试

深入理解白盒测试的基本方法,运用基本路径测试法设计测试用例。

  • (1)掌握白盒测试技术中基本路径测试法的基本步骤。

  • (2)训练针对具体程序运用基本路径测试法设计测试用例的能力。

  • 测试代码:
    DEVcpp 源代码(点击此处可下载)

#include<stdio.h>
#include<stdlib.h>
#define	D_TYEP_A 1
#define	D_TYEP_C 2
#define D_EMERGENCY_CALL 1
#define D_MAINTENANCE 2
#define D_TALKING 3
#define	D_UP 1
#define	D_DOWN 2
/* 操作機能情報構造体 */
typedef struct {
	int i_action;			/* ヘルプネット動作種別 */
	int i_status;			/* ヘルプネット動作状態 */
	int i_type;			/* 緊急通報車載機タイプ */
}
S_INFO;
	int SCRNprocSC_Esw_VolUp_proc(int ev,  int frame, int opt)
	{
		int i4_ret = 0;
		S_INFO	s_info;
		//memset(&s_info, 0x00, sizeof(S_INFO));
		s_info.i_action = opt; s_info.i_type = frame; s_info.i_status = ev;  //Test 
		if (D_TALKING == s_info.i_status)	// 通話中
		{
			// タイプC車載機での手動保守点検の場合 
			if ((D_TYEP_C == s_info.i_type) && (D_MAINTENANCE == s_info.i_action))
			{
				// 受話音量を上げる。
				i4_ret = D_UP;
			}
			// タイプA車載機での緊急通報の場合
			else if ((D_TYEP_A == s_info.i_type) || (D_EMERGENCY_CALL == s_info.i_action))
			{
				// 受話音量を下げる。
				i4_ret = D_DOWN;
			}
			else
			{
			}
		}
		else
		{
		}
		return i4_ret;
	}
int main() {
	int c=1;
	while(true){
	int x0 = 0;
	int x1 = 0;
	int x2 = 0;
	int a = -1;
	printf("------------------------------\n");
	printf("请输入\n1.测试开始 0.退出测试\n");
	scanf("%d",&a); 
	if(1==a){
		a=0;
			printf("\n输入用例编号 %d 的测试数据:\n\n请输入变量s_info.i_status:\n",c++);
	scanf("%d", &x0);
	printf("请输入变量s_info.i_type:\n");
	scanf("%d", &x1);
	printf("请输入变量s_info.i_action:\n");
	scanf("%d", &x2);
	printf("\n获取: ev = %d,frame = %d,opt = %d\t\n", x0, x1, x2);
	a=SCRNprocSC_Esw_VolUp_proc(x0, x1, x2);
	printf("结果: i4_ret=%d \n\n", a);
	a=-1;
	}
	if(0==a){
		printf("\n测试结束\n Bye");
		exit(0);
	}
	if(0!=a&&1!=a&&-1!=a){
		printf("\n请输入正确操作数(1 or 2)\n", a);
	} 

	} 
	
	}
  • 待测部分:
1{
2	int i4_ret = 0;
3	S_INFO	s_info;
4	memset(&s_info, 0x00, sizeof(S_INFO));
5
6	if ( D_TALKING == s_info.i_status )	// 通话中
7	{
8		// C类型车载机维护保养的情况
9		if ( ( D_TYEP_C == s_info.i_type ) &&
10			( D_MAINTENANCE == s_info.i_action ) )
11		{
12			//增大来电音量
13			i4_ret = D_UP;
14		}
15		// A类型车载机突发事件的情况
16		else if ( (D_TYEP_A == s_info.i_type ) ||
17			(D_EMERGENCY_CALL == s_info.i_action ) )
18		{
19			//减小来电音量
20			i4_ret = D_DOWN;
21		}
22		else
23		{
24		}
25	}
26	else
27	{
28	}
29	return i4_ret;
30}

在这里插入图片描述

  • 独立路径:

  • 计算环形复杂度:V(G)=5+1=6

  • 独立路径1:1-5→6→26-28→29→30

  • 独立路径2:1-5→6→7-8→9→10→11-15→29→30

  • 独立路径3:1-5→6→7-8→9→16→18→19-21→29→30

  • 独立路径4:1-5→6→7-8→9→10→16→18→19-21→29→30

  • 独立路径5:1-5→6→7-8→9→16→17→22-25→29→30

  • 独立路径6:1-5→6→7-8→9→16→17→18→19→21→29→30

  • 测试计划用例表

软件测试

  • 效果图
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GodOuO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值