刷题记录

PAT刷题–1.3

  1. Median (25)
    简单的排序题,直接用sort函数就可以
#include "stdio.h"
#include "algorithm"
#include "iostream"
using namespace std;
int main()
{   
 int m,n;   
  int A[2000000];    
  scanf("%d" ,&m);   
   for(int i=0;i<m;i++)    
   {        scanf("%d",&A[i]);    }    
   scanf("%d",&n);    
   for(int i=m;i<n+m;i++)    
   {        scanf("%d",&A[i]);    }    
   sort(A,A+m+n);   
    printf("%d",A[(m+n-1)/2]);         }
### 测试用例设计的基本原则 测试用例设计需遵循一定的基本原则,以确保其有效性和可操作性。以下是几个核心的原则: - **全面覆盖需求**:测试用例应尽可能覆盖所有的功能点和业务场景[^1]。这意味着,在设计阶段就需要明确测试的目标,并将其分解为具体的测试点。 - **优先级划分**:由于时间和资源有限,应对测试点进行优先级划分,重点保障高风险模块的功能正常运行。 - **清晰的预期结果**:每一个测试用例都必须有明确的输入条件和期望的结果,以便于验证系统的实际表现是否符合预期[^2]。 - **独立性**:单个测试用例应该能够独立执行,依赖其他测试用例的状态或顺序[^3]。这样可以提高测试效率并减少相互干扰的可能性。 - **逻辑覆盖率**:通过分析程序内部结构,评估现有测试用例对于代码路径的实际覆盖情况。如果发现未被触及的部分,则需要补充额外的测试来弥补足之处。 - **自动化可行性考量**:并非所有手动编写的测试用例都能顺利转换成自动化形式。因此,在规划初期就应当考虑哪些适合采用自动化手段处理,同时也要制定相应的筛选准则指导后续工作开展[^4]。 ### 测试用例设计的方法 为了满足上述提到的各项要求,通常会运用多种策略来进行具体实践中的应用: #### 黑盒测试法 这种方法侧重外部行为观察而关心底层实现细节。常见的黑盒技术包括但限于边界值分析、等价类划分以及因果图法等等。 - **边界值分析**: 鉴于大量软件缺陷往往发生在数据范围边缘附近, 故此特别关注临界数值附近的状况显得尤为重要. ```python # 边界值示 - 输入年龄字段 (合法区间: 0~150岁) test_cases = [ {"input": -1}, # 小于最小允许值 {"input": 0}, # 正好等于下限 {"input": 75}, # 中间典型值 {"input": 150}, # 刚好达到上限 {"input": 151} # 超过最大许可界限 ] ``` - **等价类划分**: 把相似性质的数据组合在一起作为一个类别代表整体特性即可. #### 白盒测试法 白盒测试则深入至源码层面探索潜在隐患所在位置。它主要涉及控制流图绘制、基本路径计算等方面的知识要点。 - **语句覆盖/分支覆盖**: 力求让每一段指令至少被执行一次; 或者保证各个判断表达式的真假两种情形均经历一遍检验过程. 综上所述,合理利用以上介绍过的理论基础加上实践经验积累,才能够构建起一套科学合理的测试方案体系出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值