DeepSeek生成测试用例的常用Prompt

一.Prompt的作用:

        Prompt的作用是DeepSeek通过用户输入的问题来调用AI模型生成答案的能力,即用户通过提问的方式,让DeepSeek理解用户想要得到什么信息并输出符合要求的答案。所以,一个基础的Prompt应该包含以下几个方面:

                你的需求:要清晰的告诉模型,你的任务是什么、你要解决什么问题;

                你需要AI帮你做什么:比如设计一份用例、做一份测试计划、测试策略、优化一段代码等等;

                对输出的结果有什么要求:比如选取10条高优先级用例、策略要用分层的方法设计、自动化脚本要基于unnittest框架生成等等;

        因此,提问前,我们应该想清楚我们要解决什么问题,想要得到什么样的答案,而且要基于问题收集必要的信息,例如整理好的需求文档、缺陷清单、代码、报错信息等。

二.通过Prompt生成测试用例:

        1.直接需求投喂:

请根据下面的功能点,设计一份测试用例:
1.用户名必须包含数字和字母组合
2.用户名长度为13个字符
3....

        2.通用‘立角色’模型:

                大模型调用自带一条高效的路径就是角色带入,不同的角色都对应着该角色所包含的部分能力,通过角色带入的方法,要求大模型带入该角色并以该角色的视角解决问题。

                模板:设定角色+描述需求+定目的+提要求

角色:你是一名资深的采购招投标系统测试工程师,熟悉采购系统功能和业务
需求:你收到了以下待测试需求
    1.新增公开竞价流程,节点为采购方案-发布通知-竞价-定标
    2.采购方案功能...
    3.发布通知功能...
目标:根据需求设计一份测试用例
要求:
    1.使用测试用例设计方法,如:等价类划分,边界值分析、流程分析法等
    2.重点对流程进行设计
    3.符合真实竞价使用场景
    4.用例按标题、前置条件、操作步骤、预期结果、优先级这几个维度输出
    5....

        3.ICOAST模型:

                ICOAST模型是一种用于生成测试用例的结构化方法,适合在复杂系统中设计全面的测试场景;通过 Input(输入)、Interface(接口)、Configuration(配置)、Operation(操作)、Attribute(属性)、State(状态)、Time(时间) 七个维度,全面覆盖测试场景。

Input:测试各种输入组合(有效值、无效值、边界值)。
Interface:测试不同交互方式(网页、API、移动端)。
Configuration:测试不同环境配置(浏览器、设备、网络)。
Operation:测试用户操作路径(点击、跳转、异常操作)。
Attribute:测试功能和非功能属性(安全性、性能、用户体验)。
State:测试系统在不同状态下的行为(已登录、账户锁定、会话超时)。
Time:测试时间相关场景(高峰期、超时、验证码过期)。

        示例:

按ICOAST模型对12306登录功能设计测试用例

        DeepSeek输出:

        4.ITAG模型:

Input(输入):测试输入数据或条件。
Task(任务):测试用户操作或系统行为。
Attribute(属性):测试功能或非功能特性。
Goal(目标):测试预期结果或业务目标。

        示例:

按ITAG模型对12306的登录功能设计测试用例

        5.其他模型:

         RISE报告模型:
                  R (Result):记录并展示测试结果,区分通过和失败的测试项。
                  I (Impact):分析测试结果对系统的影响,帮助判断问题的严重程度。
                 S (Status):跟踪测试状态,实时更新进度。
                 E (Execution):详细描述测试执行过程,帮助开发和测试团队理解测试背景。

          ITRACE行为追踪:
                Input:输入数据及条件,确保测试的全面性。
                Action:执行具体测试操作,捕捉所有细节。
                Result:记录每个测试步骤的执行结果,帮助定位问题。

### 使用 AutoGen 工具生成自动化测试用例 AutoGen 是一种用于自动生成代码和文档的强大工具,它可以通过自然语言处理技术来理解需求并生成相应的测试用例。以下是关于如何利用 AutoGen 来生成测试用例的具体方法以及示例。 #### 方法概述 为了实现高效的自动化测试用例生成,可以采用如下方式: 1. **定义 Prompt 输入** 需要向 AutoGen 提供清晰的需求描述作为输入 Prompt。这通常包括功能说明、边界条件以及其他约束条件[^1]。 2. **集成 DeepSeek 或其他大模型 API 接口** 调用类似 DeepSeek 的 AI 模型服务端点,传递精心设计的 Prompts 并接收生成的结果数据。这些结果可以直接转化为可执行的测试脚本片段。 3. **构建完整的测试框架** 将由 AutoGen 输出的内容嵌入到现有的单元测试或者接口测试环境中去运行验证逻辑准确性。同时借助 `coverage.py` 这样的第三方库评估整体覆盖度情况以优化后续迭代版本质量[^2]。 #### 示例代码展示 下面给出一段 Python 实现的例子,演示了怎样结合 AutoGen 和 Coverage 工具完成整个流程操作过程: ```python import autogen # 假设这是 Autogen 库名 from coverage import Coverage def generate_test_cases(prompt_text): """Generate test cases using the provided prompt.""" response = autogen.generate(prompt=prompt_text) return response['test_case'] # Assuming this key holds generated code # Example usage of generating a simple addition function tester. prompt_for_addition_functionality = """ Create unit tests for an add(a, b) method which returns sum of two integers 'a' and 'b'. Consider edge cases like negative numbers too.""" generated_tests = generate_test_cases(prompt_for_addition_functionality) print("Generated Tests:", generated_tests) if __name__ == "__main__": cov = Coverage() cov.start() exec(generated_tests) # Execute dynamically created scripts. cov.stop() cov.report() # Print out percentage covered lines etc... ``` 此段程序展示了从创建提示语句到最后统计覆盖率的一个闭环工作流。其中动态加载部分允许灵活调整不同的业务场景而无需修改底层架构太多细节之处^。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值