首页 > 其他分享 >测试用例执行计划

测试用例执行计划

时间:2024-06-02 22:28:46浏览次数:12  
标签:int sum pri usecase 测试用例 计划 执行 id uc

# include <stdio.h>
# include <stdlib.h>
# include <time.h>
# include <windows.h>
 
typedef struct Feature
{
    int ftr_id; //特性id
    int ftr_pri; //特性优先级
}Feature;

typedef struct UseCase
{
    int uc_id; //用例id
    int uc_pri; //用例优先级
    int cover_ftr[100]; //关联的特性的id
    int sum; //关联的数量
}UseCase;

int cmp(const void* p1, const void* p2) //搭配qsort函数
{
    int flag;
    UseCase *uc1 = (UseCase*)p1;
    UseCase *uc2 = (UseCase*)p2;
    
    /*
    优先级从大到小排列
    */
    
    //优先级不等
    if(uc1->uc_pri > uc2->uc_pri)
        flag = -1;
    else if(uc1->uc_pri < uc2->uc_pri)
        flag = 1;
    
    //优先级相等,比较用例id
    else
        flag = uc1->uc_id - uc2->uc_id;
    return flag;
}

int main()
{
    int i,j,N,M,index,cov_sum;
    
    /*
    N:特性数量;
    M:测试用例数量;
    index:关联的特性下标;
    cov_sum:用例覆盖的特性数量
    */
    
    scanf("%d %d\n",&N ,&M);
    Feature feature[N];
    UseCase usecase[M];
    
    if( (0<N&&N<=100) && (0<M&&M<=100) ) //判断N,M合法性
    {
        //输入特性的优先级
        for(i=0;i<N;i++)
        {
            scanf("%d\n",&feature[i].ftr_pri);
            feature[i].ftr_id = i+1;
        } //for-N个特性
        
        //输入用例信息
        for(i=0;i<M;i++)
        {
            //初始化
            index=0; cov_sum=0;
            usecase[i].sum = 0;
            usecase[i].uc_pri = 0;
            usecase[i].uc_id = i+1; //用例的id
    
            //输入该用例关联的特性id并统计总数
            do
            {
                scanf("%d",&usecase[i].cover_ftr[cov_sum]);
                cov_sum ++;                
            }while (getchar() != '\n');
            usecase[i].sum = cov_sum;
            cov_sum = 0;

            //计算该用例的优先级
            for(j=0;j<usecase[i].sum;j++)
            {
                index = usecase[i].cover_ftr[j] - 1;
                usecase[i].uc_pri+= feature[index].ftr_pri;
            }                
        } //for-M个用例
        
        //排序
        qsort(usecase,M,sizeof(UseCase),cmp);
        
        //打印结果
        for(i=0;i<M;i++)
        {
            printf("%d\n",usecase[i].uc_id);
        }
    } //if-判断合法性
    
    else
        printf("请重新输入");
    return 0;
}

标签:int,sum,pri,usecase,测试用例,计划,执行,id,uc
From: https://blog.csdn.net/qq_56974329/article/details/139394651

相关文章

  • Dota2刀塔找不到mfc140u.dll无法继续执行问题的全面分析与解决策略
    最近很多玩家玩Dota2刀塔遇到了找不到mfc140u.dll无法继续的问题,其中mfc140u.dll是一个动态链接库(DynamicLinkLibrary,DLL)文件,它是专为MicrosoftWindows操作系统设计的。那么应该如何解决呢?下面一起来看看具体的解决方法介绍吧!方法一:从回收站还原检查回收站中是否有误删......
  • [引]亚马逊云科技支持计划比较
    亚马逊云科技支持计划比较-亚马逊云科技(amazonaws.cn)CompareAmazonWebServicesSupportPlans亚马逊云科技支持计划比较所有客户均可获得亚马逊云科技账户附带的基本支持。所有计划(包括基本支持)均提供非技术客户服务,并支持访问亚马逊云科技文档和白皮书。......
  • 关于12306技术相关说明以及暂定计划
    12306项目中包含了缓存、消息队列、分库分表、设计模式等代码,通过这些代码可以全面了解分布式系统的核心知识点。在系统设计中,采用最新JDK17+SpringBoot3&SpringCloud微服务架构,构建高并发、大数据量下仍然能提供高效可靠的12306购票服务。下方的架构图全面描述了项......
  • PHP执行sql
    PHP连接MySQL连接数据库<?php$severname='localhost';$username='root';$password='123456';$dbanme='数据库名'//创建连接$conn=newmysqli($servername,$username,$password,$dbname);//连接检测if($conn->connect_error){......
  • PHP执行sql
    PHP连接MySQL连接数据库<?php$severname='localhost';$username='root';$password='123456';$dbanme='数据库名'//创建连接$conn=newmysqli($servername,$username,$password,$dbname);//连接检测if($conn->connect_error){......
  • 立即执行函数IFEE
    //立即执行函数IIFE//声明functionname(a,b){returna+b;}//调用console.log(name(1,2));//立即执行将声明与执行二合一,一步到位//函数声明外部使用一个圆括号括住,使之转为表达式(function(a,b){console.log(a+b);......
  • JavaScript执行(四):try里面放return,finally还会执行吗?
    在前面几篇文章中,我们已经了解了关于执行上下文、作用域、闭包之间的关系。今天,我们则要说一说更为细节的部分:语句。语句是任何编程语言的基础结构,与JavaScript对象一样,JavaScript语句同样具有“看起来很像其它语言,但是其实一点都不一样”的特点。我们比较常见的语句包括......
  • JavaScript执行(三):你知道现在有多少种函数吗?
    在前一篇文章中,我们大致了解了执行上下文是什么,也知道了任何语句的执行都会依赖特定的上下文。一旦上下文被切换,整个语句的效果可能都会发生改变。那么,切换上下文的时机就显得非常重要了。在JavaScript,切换上下文最主要的场景是函数调用。在这一课,我们就来讲讲函数调用切换......
  • 如何使用PMKIDCracker对包含PMKID值的WPA2密码执行安全测试
    关于PMKIDCrackerPMKIDCracker是一款针对无线网络WPA2密码的安全审计与破解测试工具,该工具可以在不需要客户端或去身份验证的情况下对包含了PMKID值的WPA2无线密码执行安全审计与破解测试。PMKIDCracker基于纯Python3开发,旨在帮助广大安全研究人员恢复WPA2WiFi网络的预共......
  • Git 远程代码执行漏洞(CVE-2024-32002)复现
    Git远程代码执行漏洞(CVE-2024-32002)漏洞标题:Git远程代码执行漏洞(CVE-2024-32002)影响版本:version2.45.*<2.45.1version2.44.*<2.44.1version2.43.*<2.43.4version2.42.*<2.42.2version2.41.*<2.41.1version2.40.*<2.40.2version2.39.*<2.39.4修复......