一、实验题目 :软件测试
二、实验目的
1、熟悉开发环境下的自动化测试工具;
1、利用自动化测试工具进行自动化单元测试。
三、实验内容
1、选择开发环境,IDEA或PYCHARM任选其一;
2、基于所选择的开发环境实现对输入的n个整数进行排序的代码;
3、对所编写代码设计测试用例;
4、基于所选择的开发环境开展单元测试。
IDEA环境:
利用Junit对所编写代码进行单元测试
https://blog.csdn.net/antony9118/article/details/51736135
PYCHARM环境:
利用unittest对所编写代码进行单元测试
https://zhuanlan.zhihu.com/p/688994644
四、实验要求
1、预先准备的代码要求独立编写,严禁抄袭,具体排序算法可以自由选择一种;
2、利用平台提供的单元测试工具对代码中的方法或函数进行单元测试,截取测试结果。
五、设计单元测试用例
我选择了条件覆盖,以下是我的测试用例
测试空用例:输入【】
输出【】
测试逆序用例:输入【5 4 3 2 1】
输出【1 2 3 4 5】
测试正序用例:输入【1 2 3 4 5】
输出 【1 2 3 4 5】
测试部分排序用例:输入【1 3 2 5 4】
输出 【1 2 3 4 5】
测试单个用例:输入【6】
输出【6】
六、单元测试结果截图
七、实验中遇到的问题及解决方法
1.测试结果不符合预期:当测试失败时,可能会发现实际结果与预期结果不一致。这可能是由于代码逻辑错误、边界情况没有覆盖到、输入数据不合理等原因导致的。
2.影响代码稳定性:单元测试失败可能意味着代码中存在bug,这可能会影响代码的稳定性和可靠性。及时发现并修复bug是保证代码质量的重要步骤。
3.断言失败:测试结果不符合预期: 断言失败可能意味着实际结果与预期结果不一致,这可能是因为编写的代码逻辑有误、测试用例设计不合理、输入数据异常等原因所致。代码覆盖不全面: 断言失败可能暴露出测试用例覆盖不全面的问题,即可能存在某些代码路径或边界情况没有覆盖到,导致未能正确检测到问题。
为了更好地解决以上问题:
1.优化测试用例设计: 确保测试用例覆盖了代码的各种情况和边界情况,包括正常情况、异常情况和边界情况。测试用例设计合理且全面有助于减少断言失败的可能性
2.使用调试工具: 在断言失败时,可以借助调试工具进行调试,查看变量值、代码执行路径等信息,帮助您更好地理解代码执行情况。调试工具可以加快问题定位的速度。
3.持续改进测试用例: 随着项目的不断迭代和需求变更,持续改进测试用例是非常重要的。定期审查和更新测试用例,确保其与代码的实际逻辑保持一致,有助于减少断言失败的可能性