Dify實戰應用指南(上傳需求稿生成測試用例)

一、Dify平臺簡介

Dify是一款開源的大語言模型(LLM)應用開發平臺,融合了“Define(定義)+ Modify(修改)”的設計理念,通過低代碼/無代碼的可視化界面降低技術門檻。其核心價值在于幫助開發者和非技術人員快速構建、部署和管理基于LLM的AI應用,支持后端即服務(BaaS)和LLMOps全流程開發。平臺提供畫布式節點拖拽連接功能,簡化大模型應用開發流程。

二、五大應用類型差異與適用場景

Dify支持五種核心應用類型,其交互方式與典型景如下:

類型交互方式是否多輪記憶典型場景
聊天助手對話式?FAQ 機器人、閑聊
文本生成表單→一次性結果?批量生成商品文案、翻譯、摘要
Agent對話 + 工具調用?訂票助手、自動寫周報(查郵件→總結)
Chatflow對話 + 流程編排?復雜業務引導、客服 SOP、本例測試用例
Workflow表單→流程→結果?定時跑批、合同審批、數據報表

關鍵差異說明

  • 交互模式:聊天助手為純對話型,Agent強調自主行動,工作流與ChatFlow側重流程自動化,文本生成聚焦內容創作。
  • 復雜度:Agent與工作流適用于多步驟復雜任務,ChatFlow在對話中嵌入流程,平衡交互性與自動化。

三、ChatFlow實踐案例:上傳需求稿生成測試用例

第一步:新建應用,選擇 ChatFlow 類型
打開 Dify 控制臺,點擊【工作室】按鈕。
選擇應用類型為:ChatFlow,然后點擊【創建空白應用】
補充:如果沒有搭建本地dify的話,參考這個在Mac上搭建本地AI工作流:Dify與DeepSeek的完美結合
在這里插入圖片描述
第二步:填寫 Chatflow 信息

  • 應用名稱:測試用例生成器
  • 應用描述:上傳需求稿生成測試用例
  • 點擊:創建
    在這里插入圖片描述
    第三步:自定義編排工作流
  • 在開始后面加個條件分支判斷,選擇文件不為空就繼續下一個節點到列表操作,否則去知識檢索
    在這里插入圖片描述
  • 在當文件不為空時增加一個列表操作的節點,用來識別對話的時候是否上傳了文件,設置變量為文件,開啟過濾條件,屬性為文檔
    在這里插入圖片描述
  • 繼續在列表操作節點后面添加一個文檔提取器,把上傳的文檔數據識別出來,輸出變量選擇了列表操作
    在這里插入圖片描述
  • 接著更新LLM設置,上下文選擇我們文檔提取器,等于把文檔提取器識別的信息丟給DeepSeek
    在這里插入圖片描述
    在系統提示詞寫轉成測試用例的提示詞內容如下:
讀取提取器文檔信息{{#context#}}的內容,按如下信息生成測試用例。
- Role: 軟件測試工程師
- Background: 用戶在軟件開發過程中,需要根據需求稿或需求描述生成測試用例,以確保軟件的功能符合預期,發現潛在的缺陷和問題。用戶希望測試用例中包含用例的優先級,以便合理安排測試資源和測試順序。
- Profile: 你是一位經驗豐富的軟件測試工程師,對軟件測試的理論和實踐有著深入的理解,熟悉各種測試方法和技術,能夠根據需求文檔快速準確地設計出有效的測試用例,并根據測試目標和風險評估確定用例的優先級。
- Skills: 你具備需求分析能力、測試用例設計能力、缺陷識別能力以及良好的邏輯思維能力,能夠運用黑盒測試、白盒測試、邊界值分析、等價類劃分等多種測試方法,并根據功能的重要性和風險程度對測試用例進行優先級排序。
- Goals: 根據需求稿或需求描述,生成全面、有效的測試用例,并為每個測試用例分配合理的優先級,以優化測試流程,確保關鍵功能的測試優先進行。
- Constrains: 生成的測試用例應具有可操作性、可重復性,覆蓋需求中的所有功能點,同時避免冗余和重復。優先級應明確分為高、中、低三個等級。
- OutputFormat: 以表格形式輸出測試用例,包括測試編號、測試步驟、預期結果、用例優先級等。
- Workflow:1. 仔細閱讀需求稿或需求描述,理解軟件的功能和業務邏輯。2. 根據需求中的功能點,運用測試方法設計測試用例,確保每個功能點都有對應的測試用例。3. 對測試用例進行優先級評估,根據功能的重要性和風險程度分配高、中、低優先級。4. 對測試用例進行審核和優化,確保其完整性和有效性。
- Examples:- 例子1:需求描述為“用戶登錄功能,用戶輸入用戶名和密碼,點擊登錄按鈕,系統驗證用戶名和密碼是否正確,正確則跳轉到主頁,錯誤則提示錯誤信息。”測試用例:| 測試編號 | 測試步驟 | 預期結果 | 用例優先級 || --- | --- | --- | --- || TC001 | 輸入正確的用戶名和密碼,點擊登錄按鈕 | 跳轉到主頁 ||| TC002 | 輸入錯誤的用戶名,正確的密碼,點擊登錄按鈕 | 提示用戶名錯誤 ||| TC003 | 輸入正確的用戶名,錯誤的密碼,點擊登錄按鈕 | 提示密碼錯誤 ||| TC004 | 輸入空的用戶名和密碼,點擊登錄按鈕 | 提示用戶名和密碼不能為空 ||- 例子2:需求描述為“購物車功能,用戶可以將商品添加到購物車,購物車顯示商品的名稱、數量和總價。”測試用例:| 測試編號 | 測試步驟 | 預期結果 | 用例優先級 || --- | --- | --- | --- || TC005 | 將商品A添加到購物車 | 購物車顯示商品A的名稱、數量1和單價 ||| TC006 | 將商品A添加兩次到購物車 | 購物車顯示商品A的名稱、數量2和總價 ||| TC007 | 將商品A和商品B分別添加到購物車 | 購物車顯示商品A和商品B的名稱、數量和總價 ||
- Initialization: 在第一次對話中,請直接輸出以下:作為軟件測試工程師,我將根據需求稿或需求描述為您生成測試用例,并為每個用例分配合理的優先級。請提供需求文檔,我會根據需求設計全面的測試用例,并明確用例的優先級。
  • 直接輸出,修改為我們文檔提取器的內容
    在這里插入圖片描述
  • 選擇文件為空增加一個節點去知識檢索并配置知識庫

在這里插入圖片描述

  • 設置LLM,上下文優先查詢引用的本地知識庫,然后下一節點直接回復
    在這里插入圖片描述
  • 最后我們來上傳一個需求文檔,發現已經按文檔內容生成了測試用例,截圖如下:
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述
四、實踐效果?

通過該 chatflow 實踐例子,用戶無需手動編寫測試用例,只需上傳需求稿并進行簡單的確認和調整,就能快速得到符合要求的測試用例,大大提高了測試用例的生成效率,減少了人工操作的誤差,同時也降低了對測試人員專業技能的要求,使得測試工作更加便捷高效。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/93566.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/93566.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/93566.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

學習日志35 python

1 Python 列表切片一、切片完整語法列表切片的基本格式: 列表[start:end:step]start:起始索引(包含該位置元素,可省略)end:結束索引(不包含該位置元素,可省略)step&#…

Linux -- 文件【下】

目錄 一、EXT2文件系統 1、宏觀認識 2、塊組內部構成 2.1 Data Block 2.2 i節點表(Inode Table) 2.3 塊位圖(Block Bitmap) 2.4 inode位圖(Inode Bitmap) 2.5 GDT(Group Descriptor Table) 2.6 超…

谷歌手機刷機和面具ROOT保姆級別教程

#比較常用的谷歌輸入root面具教程,逆向工程師必修課程# 所需工具與材料清單 真機設備 推薦使用 Google Pixel 4 或其他兼容設備,確保硬件支持刷機操作。 ADB 環境配置 通過安裝 Android Studio 自動配置 ADB 和 Fastboot 工具。安裝完成后,需在系統環境…

平衡二叉搜索樹 - 紅黑樹詳解

文章目錄一、紅黑樹概念引申問題二、紅黑樹操作一、紅黑樹概念 紅黑樹是一棵二叉搜索樹,它在每個節點上增加了一個存儲位用來表示節點顏色(紅色或者黑色),紅黑樹通過約束顏色,可以保證最長路徑不超過最短路徑的兩倍,因而近似平衡…

從0開始跟小甲魚C語言視頻使用linux一步步學習C語言(持續更新)8.14

第十六天 第五十二,五十三,五十四,五十五和五十六集 第五十二集 文件包含 一個include命令只能指定一個被包含文件 文件允許嵌套,就是一個被包含的文件可以包含另一個文件。 文件名可以用尖括號或者雙引號括起來 但是兩種的查找方…

B+樹索引分析:單表最大存儲記錄數

在現代數據庫設計中,隨著數據量的增加,如何有效地管理和優化數據庫成為了一個關鍵問題。根據阿里巴巴開發手冊的標準,當一張表預計在三年內的數據量超過500萬條或者2GB時,就應該考慮實施分庫分表策略 Mysql B樹索引介紹 及 頁內儲…

三、memblock 內存分配器

兩個問題: 1、系統是怎么知道物理內存的?linux內存管理學習(1):物理內存探測 2、在內存管理真正初始化之前,內核的代碼執行需要分配內存該怎么處理? 在Linux內核啟動初期,完整的內存…

Python 桌面應用形態后臺管理系統的技術選型與方案報告

下面是一份面向“Python 桌面應用形態的后臺管理系統”的技術選型與方案報告。我把假設前提→總體架構→客戶端技術選型→服務端與數據層→基礎設施與安全→交付與運維→質量保障→里程碑計劃→風險與對策→最小可行棧逐層給出。 一、前置假設 & 非功能目標 業務假設 典型…

Winsows系統去除右鍵文件顯示的快捷列表

前言:今天重做了電腦系統,安裝的是純凈版的系統。然后手動指定D盤安裝了下列軟件。(QQ,迅雷,百度網盤,搜狗輸入法,驅動精靈)然后我右鍵點擊桌面的軟件快捷方式,出現了一排…

【Go】Gin 超時中間件的坑:fatal error: concurrent map writes

Gin 社區超時中間件的坑:導致線上 Pod 異常重啟 在最近的項目中,我們遇到了因為 Gin 超時中間件(timeout) 引發的生產事故:Pod 異常退出并重啟。 問題現場 pod無故重啟,抓取標準輸出日志,問題…

數據結構:用數組實現隊列(Implementing Queue Using Array)

目錄 第1步:設計藍圖 (The Struct) 第2步:隊列的誕生 (創建與初始化) 第3步:狀態檢查 (判滿與判空) 第4步:核心操作 (入隊與出隊) 入隊 (Enqueue) 出隊 (Dequeue) 第5步:善后工作 (銷毀隊列) 現在,我…

Boost庫核心組件與應用

一、BOOST 庫簡介:C 開發者的 “擴展工具集” 在 C 編程領域,除了標準庫(STL)外,BOOST 庫是最具影響力的第三方庫之一。它由全球數百位開發者共同維護,包含超過 160 個高質量的組件,覆蓋從基礎…

機器學習 [白板推導](十二)[卡曼濾波、粒子濾波]

15. 線性動態系統(卡曼濾波,Kalman Filter) 15.1. 概述 15.1.1. 背景介紹 變量隨時間變化的系統叫做動態系統,其中隱變量取值離散的是隱馬爾可夫模型(HMM),而隱變量取值連續的分為線性動態系統…

RH134 訪問網絡附加存儲知識點

1. NFS 的主要功能是什么?答:NFS是一種分布式文件系統協議,主要功能包括:允許遠程計算機通過網絡訪問共享文件。 實現文件系統在客戶端和服務器之間的透明訪問。支持文件的共享、讀取和寫入,使得多個 …

組合模式及優化

組合模式是一種結構型設計模式,其核心思想是將對象組合成樹形結構,以表示“部分-整體”的層次關系,使得用戶對單個對象和組合對象的使用具有一致性。 一、介紹 核心角色 組合模式包含以下3個關鍵角色: 抽象組件(Compon…

【wmi異常】關于taskkill命令提示“錯誤:找不到” 以及無法正常獲取設備機器碼的處理辦法

記錄一下我的解決方案。 我先查閱了這篇博客:https://blog.csdn.net/qq_45698181/article/details/138957277 發現他寫的批處理不知怎么執行不了,后來問了ai又可以執行了,估計是csdn防盜版格式問題 這里寫一下我跟ai的對話,大家可…

制造裝配、倉儲搬運、快遞裝卸皆適配!MinkTec 彎曲形變傳感器助力,讓人體工學改變勞動生活

【導語】Minktec 最新實驗顯示:將Minktec 柔性彎曲形變傳感器FlexTail 貼于受試者背部,記錄 1 分鐘內從洗碗機取餐具的動作,結合配套的flexlib -專用Python庫分析,不僅量化出 “越低越傷腰” 的結論,更為制造裝配、物流…

Nginx蜘蛛請求智能分流:精準識別爬蟲并轉發SEO渲染服務

> 一招解決搜索引擎爬蟲無法解析現代前端框架的痛點,提升網站收錄率與SEO排名! **痛點場景**:你的網站采用Vue/React等前端框架構建,頁面內容依賴JavaScript動態渲染。搜索引擎爬蟲訪問時,只能抓取到空HTML骨架,無法獲取真實內容,導致網站收錄率低、SEO效果差。 --…

鏈表。。。

目錄 5.1 鏈表的結點 5.2 插入 5.3 鏈表長度 5.4 查找 5.5 指定位置刪除 5.6 代碼 5.1 鏈表的結點 一個結點包括:值和指向下一個結點的指針。 package com.qcby.鏈表;public class Node {int value;Node next;public Node(int val){valueval;}Overridepublic…

私人AI搜索新突破:3步本地部署Dify+Ollama+QwQ,搜索能力MAX

1.安裝Docker容器 本地部署Dify要先安裝Docker桌面版,跟Ollama一樣簡單,也是去官網下載對應版本文件,直接安裝就OK。 2:安裝Dify 安裝 Dify 簡單的方式就是git clone,復制其github地址github.com/langgenius/dify&am…