三角形类型判断测试报告

测试报告

项目名称

三角形类型判断

测试日期

2024年6月12日

测试概述

本次测试针对 Triangle 类的功能进行单元测试,验证其是否能够正确判断三角形的类型,并处理无效的边长组合。使用的单元测试框架为 unittest

测试环境
  • 操作系统:Windows 10
  • 编程语言:Python 3.8
  • 测试框架:unittest
  • 测试文件:test_triangle.py
  • 被测文件:triangle.py
测试用例
  1. 等边三角形

    • 输入:(10, 10, 10)
    • 预期输出:等边三角形
    • 结果:通过
  2. 等腰三角形

    • 输入:(10, 10, 5)
    • 预期输出:等腰三角形
    • 结果:通过
  3. 直角三角形

    • 输入:(3, 4, 5)
    • 预期输出:直角三角形
    • 结果:通过
  4. 一般三角形

    • 输入:(7, 10, 5)
    • 预期输出:一般三角形
    • 结果:通过
  5. 无效三角形(边长组合)

    • 输入:(1, 2, 3)
    • 预期输出:抛出 InvalidTriangleError
    • 结果:通过
  6. 无效三角形(边长不在1到100之间)

    • 输入:(101, 101, 101)
    • 预期输出:抛出 InvalidTriangleError
    • 结果:通过
  7. 边界条件测试

    • 输入:(0, 10, 10),预期输出:抛出 InvalidTriangleError,结果:通过
    • 输入:(10, 10, -1),预期输出:抛出 InvalidTriangleError,结果:通过
    • 输入:(1, 1, 1),预期输出:等边三角形,结果:通过
    • 输入:(100, 99, 99),预期输出:等腰三角形,结果:通过
测试结果

所有测试用例均通过,Triangle 类的功能正常,能够正确判断不同类型的三角形,并能够处理无效的边长组合。

测试结论

本次测试验证了 Triangle 类的功能及其健壮性,所有测试用例均通过,表明 Triangle 类能够正确判断三角形的类型并处理边长的边界条件。系统符合预期的功能需求。

建议与改进
  • 当前测试用例覆盖了常见的三角形类型及边界条件,建议在后续开发中持续增加更多复杂的测试用例,以进一步验证系统的健壮性。
  • 建议将异常信息进一步细化,例如区分边长超出范围和无法构成三角形的具体原因,以便更好地调试和维护。
附录:测试代码
from unittest import TestCase
from triangle import Triangle, InvalidTriangleError

class TestTriangle(TestCase):

    def test_equilateral_triangle(self):
        triangle = Triangle(10, 10, 10)
        self.assertEqual(triangle.get_type(), "等边三角形")

    def test_isosceles_triangle(self):
        triangle = Triangle(10, 10, 5)
        self.assertEqual(triangle.get_type(), "等腰三角形")

    def test_right_angle_triangle(self):
        triangle = Triangle(3, 4, 5)
        self.assertEqual(triangle.get_type(), "直角三角形")

    def test_scalene_triangle(self):
        triangle = Triangle(7, 10, 5)
        self.assertEqual(triangle.get_type(), "一般三角形")

    def test_invalid_triangle_by_sides(self):
        with self.assertRaises(InvalidTriangleError):
            Triangle(1, 2, 3)

    def test_invalid_triangle_by_length(self):
        with self.assertRaises(InvalidTriangleError):
            Triangle(101, 101, 101)

    def test_boundary_conditions(self):
        # Edge cases for boundary values
        with self.assertRaises(InvalidTriangleError):
            Triangle(0, 10, 10)  # one side is 0
        with self.assertRaises(InvalidTriangleError):
            Triangle(10, 10, -1)  # one side is negative
        triangle = Triangle(1, 1, 1)  # smallest valid triangle
        self.assertEqual(triangle.get_type(), "等边三角形")
        triangle = Triangle(100, 99, 99)  # largest valid triangle
        self.assertEqual(triangle.get_type(), "等腰三角形")
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值