当前位置: 首页 > news >正文

AIGC(生成式AI)试用 32 -- AI做软件程序测试 3

    总结之前的AI做程序测试过程,试图优化提问方式,整合完成的AI程序测试提问,探索更多可能的AI测试
    AIGC(生成式AI)试用 30 -- AI做软件程序测试 1
    AIGC(生成式AI)试用 31 -- AI做软件程序测试 2

  • 总结

    - 条理化、简单化
       需求描述的越条理、每个句子越简短,AI所产出的回复结果越准确
    - 层次化、渐进式,人与AI和谐共生
      层次化、渐进式的提问似乎能够让AI做出更准确、有效的反馈 -- 所以一股脑的将大量需求提交AI并不可取,Agent应当分阶段的喂养
    - 强化异常分析和描述
      异常数据、场景、用例描述不足;正常的需求功能分析、数据准务、用例描述较为详细
    - 关于AI工具
      * 不同工具配合使用 + 深度思考 + 联网搜索;人、AI、其他工具,人机共生 
      * 二次封装,生成特定行业、特定业务的Agent
  • 整合AI程序测试提问过程,传给AI智能体,对比并评价结果

    - 需求
    - AI 提问
      > 需求测试
      > 功能点(功能测试大纲)
      > 列举测试数据
      > 测试用例

    - 整体程序测试输出结果说明
      > 需求测试
         * 同一问题,重复提问,均会对需求有新的分析、补充
         * 回复结果的描述格式越来越规整
         * 当然提问也越来越条理,结果推进提问方式的改进
      > 功能点(功能测试大纲)
         * 功能点并未与需求测试点一一对应
         * 测试点描述对需求测试点的覆盖较小
      > 测试数据
         * 分类依据更明确
         * 异常数据描述不足
      > 测试用例
         * 测试用描述简单
         * 异常用例描述不足 
    软件需求
    读入txt文件,过滤文件有关年记录
        0)读入txt文件
        1)以“。”,中文句号,为界区分一句,最小统计单位
        2)年格式:YYYY,4位
        3)输出:YYYY:所在句子内容
        4)说明
              -  一句中包含多个年的,以“,”,中文逗号连接
              - 剔除句中的非文字内容:换行符,非正常的标号等
              - 按行输出过滤到的有关年记录
    AI提问
       根据上述需求,完成以下测试内容
    1. 需求测试
       1)使用列表形式对软件需求进行分解、陈述
       2)指出需求定义中描述不清晰之处
       3)补充未明确定义的隐式需求
    2. 输出以上需求所要实现的功能列表、功能点
       1)输出以上需求的测试项和测试点,不需要标注测试预期结果
       2)输出样例,测试项:文本输入,测试点:1)非txt文件;2)大于1M的文件
       3)输出格式,表格形式输出:第1列为测试项,第2列为测试点
    3. 输出以上需求中可能的输入数据
    4. 输出以上需求的测试用例
       1)输出样例,序号、测试项、测试目的、测试数据、测试步骤、预期结果
       2)输出格式,表格形式输出
文心一言DeepSeek

一、需求测试

1. 需求分解(列表形式)

#

需求分解项

说明

1

输入文件格式

必须为txt格式文件

2

句子分割规则

以中文句号"。"为分隔符

3

年份格式定义

严格匹配4位连续数字(YYYY格式),如"2025"

4

输出格式要求

每行输出格式为"YYYY:所在句子内容",多个年份用中文逗号连接

5

数据清洗规则

需剔除换行符、非正常标点符号(如●、※等)

6

异常处理要求

需处理空文件、非文本文件、超大文件等边界情况

2. 需求描述不清晰之处

年份匹配规则不明确:

是否允许年份与其他字符粘连(如"2025年"中的"2025"是否有效)

是否需要排除非独立年份(如"12025"中的"2025"子串)

非正常标号定义模糊:

未明确需要剔除的特殊符号范围(如★、◆等装饰符号是否需要处理)

输出顺序未定义:

是否需要按年份排序输出,还是保持原文句子顺序

性能要求缺失:

未说明对超大文件(如100MB+)的处理要求

3. 补充隐式需求

编码兼容性:

需支持UTF-8/GBK等常见中文编码格式

性能要求:

默认处理不超过10MB文件,需明确超限处理策略

边界条件:

空文件应返回空输出而非报错

完全不含年份的文件应返回空结果

特殊格式处理:

需自动转换全角数字(如"2025")为半角格式

二、功能列表与测试项

1. 功能列表

功能模块

功能点描述

文件读取

支持txt格式文件输入,自动检测编码

文本解析

按中文句号分割句子,处理换行符

年份匹配

精确匹配4位连续数字,支持全角转换

数据清洗

过滤非文本字符,保留中文标点

结果输出

按"YYYY:句子"格式输出,多年份合并

2. 测试项与测试点(表格)

测试项

测试点

文本输入

1. 非txt文件
2. 大于1M的文件
3. 空文件
4. 特殊编码文件(如GB2312)

句子分割

1. 含换行符的句子
2. 连续句号
3. 句号在引号内

年份匹配

1. 有效年份(2025)
2. 无效格式(25, 2025年)
3. 子串干扰(12025)

数据清洗

1. 特殊符号(★, ◆)
2. 英文标点
3. 混合数字(202A5)

结果输出

1. 多个年份合并
2. 空结果输出
3. 特殊字符转义

三、可能的输入数据

  1. 正常数据:

    • 包含多个年份的连续文本(如:"2020年发生了疫情。2023年经济复苏。2025年预计...")

    • 混合标点符号的文本(如:"这是2025年!?;测试。")

  2. 边界数据:

    • 仅含单个年份的文本

    • 完全不含年份的文本

    • 超大文本文件(10MB+)

  3. 异常数据:

    • 二进制文件(如.exe)

    • 损坏的txt文件

    • 包含特殊编码的文本(如UTF-16)

四、测试用例(表格)

序号

测试项

测试目的

测试数据

测试步骤

预期结果

1

文本输入

验证非txt文件处理

输入.jpg图片文件

尝试读取文件

返回错误提示或拒绝处理

2

年份匹配

验证精确匹配规则

"2025, 2025年, 202A5"

运行年份检测

仅识别"2025"

3

数据清洗

验证特殊符号过滤

"这是★测试◆数据"

执行清洗操作

输出"这是测试数据"

4

结果输出

验证多年份合并规则

"2025年A事件。2026年B事件。"

运行处理并输出

"2025:2025年A事件。2026:2026年B事件。"

5

性能测试

验证大文件处理能力

生成10MB随机文本(含年份)

运行处理并计时

5秒内完成处理

五、测试样例说明

  1. 非txt文件测试

    • 测试目的:验证系统对非法文件类型的容错能力

    • 测试步骤:尝试读取.docx/.xlsx等非文本文件

    • 预期结果:应返回明确错误提示而非崩溃

  2. 特殊编码测试

    • 测试目的:验证编码兼容性

    • 测试数据:使用GB2312编码的txt文件

    • 预期结果:能正确解析中文内容

  3. 边界年份测试

    • 测试数据:"1999年,2000年,2100年"

    • 预期结果:仅识别"2000"为有效年份(根据需求定义)

### 根据需求输出如下测试内容:---

### **1. 需求测试**
#### 1.1 需求分解(列表形式)
| 序号 | 需求描述                                                                 |
|------|--------------------------------------------------------------------------|
| 0    | 读取`.txt`文件                                                          |
| 1    | 以中文句号“。”切分句子,作为最小统计单位                                |
| 2    | 识别句子中的四位数年份(格式`YYYY`)                                    |
| 3    | 输出格式:`YYYY: 句子内容`                                              |
| 4    | 补充说明:<br>- 一句含多个年份时,用中文逗号“,”连接年份<br>- 清洗句子中的非文字内容(换行符、异常符号) |

#### 1.2 需求不清晰之处
1. **年份格式**:未明确是否允许非纯数字(如“2023年”中的“年”字是否需要处理)。
2. **非文字内容**:未定义“非正常标号”的具体范围(如英文符号、特殊字符)。
3. **年份去重**:同一句子中重复的年份是否需要合并。
4. **编码要求**:未指定输入文件的编码格式(如UTF-8、GBK)。
5. **性能要求**:未说明大文件(如1GB)的处理能力。

#### 1.3 补充隐式需求
1. 年份应为纯数字(`YYYY`),忽略包含非数字的“年份”(如“二〇二三”)。
2. 清洗后的句子仅保留中文、数字、中文标点(句号、逗号)。
3. 同一句子中多个年份按出现顺序连接,无需去重。
4. 文件编码默认为UTF-8,支持其他编码需报错。
5. 输出结果按句子在原文件中的顺序排列。

### **2. 功能列表与测试点**
#### 2.1 测试项与测试点(表格形式)
| 测试项         | 测试点                                                                 |
|----------------|----------------------------------------------------------------------|
| 文件输入       | 1) 非`.txt`文件;2) 空文件;3) 超过1MB的文件                          |
| 句子分割       | 1) 多句号分割;2) 无句号的长文本;3) 句号后无内容                     |
| 年份识别       | 1) 有效四位数年份;2) 无效年份(如三位数、含字母);3) 混合格式年份   |
| 句子清洗       | 1) 去除换行符;2) 去除英文标点;3) 保留中文标点                       |
| 输出格式       | 1) 单一年份句子;2) 多年份句子;3) 无年份句子      

                  |

#### 2.2 样例(表格补充)
| 测试项         | 测试点                                                                 |
|----------------|----------------------------------------------------------------------|
| 文本输入       | 1) 上传`.doc`文件;2) 上传10MB的`.txt`文件                            |

### **3. 可能的输入数据**
| 类型       | 示例                                                                 |
|------------|----------------------------------------------------------------------|
| 有效输入   | `2023年冬奥会在北京举办。`                                           |
| 无效输入   | `年份为23或二〇二三。`                                               |
| 边界输入   | `句子无句号且包含2024和2025`                                         |
| 特殊符号   | `2023★春节\\n期间,2024年计划启动。`                                 |

### **4. 测试用例**
#### 4.1 样例用例(表格形式)
| 序号 | 测试项     | 测试目的                   | 测试数据                          | 测试步骤                         | 预期结果                         |
|------|------------|---------------------------|-----------------------------------|----------------------------------|----------------------------------|
| 1    | 文件输入   | 验证非`.txt`文件处理       | 上传`test.doc`                   | 1. 选择文件<br>2. 点击解析       | 提示“仅支持.txt文件”             |
| 2    | 年份识别   | 验证四位数年份提取         | `计划在2023和2024年完成。`       | 解析文件并输出                   | `2023,2024: 计划在2023和2024年完成` |

#### 4.2 完整用例(表格补充)
| 序号 | 测试项     | 测试目的                   | 测试数据                          | 测试步骤                         | 预期结果                         |
|------|------------|---------------------------|-----------------------------------|----------------------------------|----------------------------------|
| 3    | 句子清洗   | 验证特殊符号过滤           | `2023★春节\\n期间,2024年计划。` | 解析并清洗句子                   | `2023,2024: 春节期间,2024年计划` |
| 4    | 输出格式   | 验证无年份句子跳过         | `该项目暂无明确时间。`            | 解析文件并输出                   | 无输出                           |

---

### **说明**
- **输入数据**需覆盖有效、无效、边界值场景。
- **测试用例**需按功能点优先级排序(如文件输入>年份识别>句子清洗)。

  • 历次AI提问及结果对比

 

相关文章:

  • 疑难解析 | 解决金仓数据库中securecmdd服务连接报错“Permission denied“问题
  • 初步自定义layui的table(laravel 12)
  • C盘清理实用技巧整理
  • [创业之路-341]:华为人力资源管理 - 华为技术专家体系详解
  • final static 中是什么final static联合使用呢
  • matlab simulink中理想变压激磁电流容易有直流偏置的原因分析。
  • shell脚本部署disu博客
  • 多视觉编码器协同与高低分辨率特征融合技术综述
  • Docker小游戏 | 使用Docker部署文字修仙网页小游戏
  • 洛谷题目:P8856 [POI 2002] 火车线路 题解(有一点难)
  • Kaamel白皮书:2025版COPPA落地实操指南
  • 四 YARN配置和HBase配置
  • 爱普生SG-3031CM晶体振荡器成为高效节能的时钟理想之选
  • FAQ运用
  • MySQL 锁等待超时问题解析:Lock wait timeout exceeded;try restarting transaction
  • 文字光影扫过动效
  • GAEA情感坐标的技术架构与系统集成
  • KAG:通过知识增强生成提升专业领域的大型语言模型(二)
  • LIMS试验检测管理系统概要设计说明书,LIMS实验室系统建设方案
  • Go语言入门:目录与链接
  • 国家发改委:我国能源进口来源多元,企业减少甚至停止自美能源进口对国内能源供应没有影响
  • 我国将出台稳就业稳经济推动高质量发展若干举措,将根据形势变化及时出台增量储备政策
  • 伊朗港口爆炸已致40人死亡
  • 文化体验+商业消费+服务创新,上海搭建入境旅游新模式
  • 2025年上海空间信息大会举行,重大项目集中签约
  • 弘扬 “上海精神”,上合组织政党论坛聚焦政党责任与使命