软件测试基础知识和AI基础知识的了解和扩展
1、为什么要测试?
(1)代码是人写的,难免是出错
(2)软件本身就存在问题,非正常运行会有问题
(3)环境会影响软件出现问题
(4)软件测试活动是保证软件测试质量之一
2、测试的定义?
制造业定义:以检验产品是否满足需要为目标;
软件行业定义:
a、验证软件的正确性
b、发现软件中的缺陷(找bug)
3、软件生命周期?
指的是软件从产生到报废的整个过程,是一种时间的概念
4、软件生命周期有哪些阶段?
(1)问题引入或定义
(2)可行性分析(涉及法律,政治、技术、经济)
(3)项目招投标
(4)项目立项
(5)需求分析
(6)开发阶段(设计、编码、测试)
(7)维护
(8)下线
5、生命周期的模型?
(1)v模型
(2)h模型
(3)敏捷模型
(4)迭代模型
6、详细讲解v模型:
v模型
单元测试详细设计
集成测试概要设计
系统测试用户需求
验收测试用户需求
(1)用户需求:是一个文档,(产品输出)
内容:对整个项目的设计、框架、功能模块的描述
(2)概要设计:是一个文档(开发产出)
内容:架构的初步设计文档,使用说明什么类型的数据库、架构的描述、设计、模块的名称
如:盖房子的大概框架
(3)详细设计:是一个文档(开发产出)
内容是针对具体的实现、模块的具体实现,具体设计,架构的具体描述
如:房子的具体的装修设计
a、单元测试
单元:是指证单元是否满足详细设计文档的规格,能正确的执行,主要是对代码的测试。
单元测试也是最小的测试单位;
在工作中单元测试一般是开发自测,如果需要测试进行单元测试,对测试的技术要求高,必须懂开发语言;
理解:单元测试,课本有10个单元,(测试一个单元测试)
b、集成测试
集成测试是指多个单元组合验证是否满足概要设计文档的规格,能正常执行,主要的模块与模块之间的数据交互;
理解:集成测试。课本有10个单元,(测试2个单元或者2个单元以上的测试,比如期中考试1-6单元)
c、系统测试
系统测试是指把软件进行正常运行,对整个软件系统进行测试,验证这个系统能正常的运行,主要是测试一个整体业务的流程
理解:系统测试。课本有10个单元,(测试10个单元测试,比如期末考试1-10单元,内部测试)
d、验收测试
验收测试是:站在用户的角度去对软件进行测试,验证系统满足用户需求
分为两种:
内部验收:alpha 测试
外部验收:bete测试
区别:
1、人员不一样:内部验收技术人员,测试开发都在,有问题及时解决 ,技术人员集中
外部验收 客户方的员工测试,发现问题在反馈给我开发,修改 ;技术人员不集中
2、时间不一样:内部验收时间周期短,
外部验收时间周期长;
3、测试点地点不一样:内部验收 是在自己公司,
外部验收是在客户方法;
备注:
1、集成测试(it)和系统测试(st)合并成(sit系统集成测试)
2、sit测试技术技术,uat测试验收测试
3、sit环境(sit1环境、sit2环境,sit3环境),uat环境(专门用来验收环境)
4、环境:
开发环境:开发人员
测试环境:测试人员
线上环境(生产环境):用户
7、详解h模型:
測試线:
(1)产品召开需求澄清会议,》测试需求:完整、实现逻辑、冗余、正确等
需求澄清会议:测试、开发、产品、架构师等
需求有问题,产品修改,再开会议,直到需求符合要求;
(2)测试和开发,拿到需求,深入分析和了解需求文档
(3)测试经理编写测试计划 (重点)
a、测试计划:(内容:测试目的,背景,范围,测试准入,测试准出,环境和资源,测试任务和测试进度,风险及风险管理,测试交付文档)
准入要求:(提测)
开发:需求分析报告,需求规格说明书,概要设计说明书,详细设计说明书,版本说明书及开发自测报告;
测试:(1)写好测试计划,(2)测试用例评审通过,(3)测试环境搭建好
b、准出:(1)用例100%执行(2)0bug(3)输出测试报告
(4)安排任务,给测试人员,测试人员领取任务,根据需求去分析需求,用xmind图梳理测试点,根据测试点,编写用例
(5)评审用例(测试人员:组内评审(项目评审人员:开发,测试,产品都参加),交叉评审(测试人员之间评审:测试a、测试b、测试c))
如果评审不通过,就要继续编写用例,在评审,直到评审通过;
(6)用例评审通过以后导入到用例管理工具中;如:禅道,testlink
(7) 搭建测试环境(运维搭建,自己搭建,测试管理搭建)
(8)开发提交代码包,提测(也叫转测) 要达到准入要求;
(9)测试将代码包部署到环境,
(10)进行冒烟测试,冒烟测试通过,进入sit系统集成测试,如果,冒烟测试不通过,就把版本打回给开发,开发修改,在提测。
冒烟测试(也叫版本验证测试)定义:指对新版本的主要功能,基本功能进行测试。
冒烟测试通过,
(11)sit系统集成测试(一般一个项目有3次系统集成测试,有些项目周期长也有4次,5次)
(12)第一次sit测试也叫全量测试(把写的所有用例都要进行测试),测试出来的bug,指派给开发(通过bug工具如:禅道),测试小结
(13)开发修改bug,在提交代码
(14)测试在第二次部署项目包,在进行第二次sit测试前也要进行冒烟测试,冒烟测试通过以后才能进行第二次sit测试;
第二sit测试和第三sit测试都叫做回归测试
回归测试:是系统维护阶段进行的验证测试
区别:测试阶段不同
冒烟测试是版本提交时第一个测试,回归测试是在维护阶段测试
(14)第二次sit测试,在将bug提交给开发,开发修改
(15)第三sit测试,先冒烟测试,在去测试,验证。。。。。。以此类推,
备注:测试用例的来源:
a、冒烟测试用例
b、验证上一个版本提交bug的用例
c、测试与bug有关联的模块用例
d、你认为可疑的测试场景测试用例
e、测试补充的测试用例和测试场景
(16)直到达到准出:用例100%执行,0bug,
(17)输出测试报告》说明sit测试测完(表示技术测完)
测试报告内容:测试目的,测试范围,测试背景,测试实施日期,测试人员,bug 清单,用例清单,测试结论,
(18)sit测完通知 uat 测试,uat验收通过,
(19)封板(封装版本)
(20)等待上线
(21)上线前准备线上数据
(22)上线后在线上测试,
(23)测试没有bug,如有bug就要分析bug,bug影响程度,影响大,就回退版本,如果影响小就备注下次版本修改
(24)上线成功
=========
主流程:(正常场景)
产品开需求会议测试和开发拿到需求分析需求编写测试计划(测试经理)测试任务分配测试人员测试分析需求测试根据需求编写测试用例评审用例,评审通过将用例导入用例管理工具搭建环境开发提测,达到准入要求部署项目包到环境中开始冒烟测试进行sit1系统集成测试有bug提交给开发开发修改bug,修复成功提交第二次代码包部署项目包到环境中在冒烟测试进行sit2系统测试以此类推直到达到准出要求:0bug,用例100%执行输出测试报告通知uat测试=uat验收通过封装版本等待上线=准备线上数据上线线上测试=测试无bug表示上线成功。
=========
根据讲解的H模型:梳理(重点背)
产品拿出需求规格说明书(srs);召开需求会议,分析需求,熟悉需求;测试负责人拿到需求开始编写测试计划;安排测试任务,各自编写测试用例;编写完用例后在对用例进行评审(有组内评审,有交叉评审);评审通过以后,导入到用例管理工具中;在搭建好环境(运维或测试人员);开发开发完也要进行提测(达到准入要求);测试将代码包部署到环境中;在进行冒烟测试,冒烟测试通过(如果冒烟失败,就打回版本),就进行sit1系统集成测试,将所有测试用例都执行一遍;有bug提交给开发,开发修改,再提交代码包;进行第二次sit系统集成测试,也要冒烟测试,冒烟测试以后就开始进行sit2系统集成测试,测试中发现的bug,提交给开发,开发修改,再提交第三次代码包,进行第三sit系统集成,以此类推,直到测试用例100%执行,0bug(达到测试准出),输出测试报告;通知uat验收,验收通过;封装版本,打包,准备线上数据,上线,线上测试,线上测试通过,上线成功。(如果线上有bug根据影响程度判断:影响大就回退版本,如影响小,备注好下一个版本解决)
敏捷开发模型:
这是一种新的模型,前面的几种都是属于传统型。它能适应快速需求变化,交付周期短,轻量级的开发模式
时间短:一周上2个版本,一周上1个版本,两周1个版本
比如:一周上1个版本 ,5个工作日,(2天分析需求,写用例,2天测试,1天上线)
迭代测试模型
项目被分为大量迭代过程,一次迭代就是一个完整的开发循环,是一个可以发布的可执行的产品属于软件开发周期中最终产品的一个子集。
比如:微信、qq、抖音做迭代
测试的基本原则:
1、测试是从用户的角度去测试;
2、测试不仅测试是软件本身,(比如:测试环境,配置,网络,兼容性等)
3、软件外在可用,不代表软件没有问题(比如:aap能下载安装,点击就闪退)
4、软件测试是没有完成正确,只有更加完美
5、测试是永远测不完的
6、测试应尽早介入(比如:建房,开始就介入测试就可以发现更多问题,等)
7、2/8原则, (80%的错误集中在20%的区域)比如:考试,数学题,
8、杀虫剂效应(不断更新用例测试)
9、测试尽量选择第三方测试(开发自己写的代码,自己很难发现,所以需要专业测试)
10、测试活动的依赖对象(功能测试,性能测试,安全测试等)
测试计划测试用例编写用例执行==编写测试报告
AI 基础概念
一、AI(人工智能)
定义:通过模拟、延伸、拓展和拓展人类的智能(比如:学习、推理、语言理解、决策能力),借助相关的技术和方法防机器能够执行
通过从需要人类才能完成的智能任务;
(1)模拟:就是让机器模仿人类的思考和行为逻辑;比如:人类能识别猫、狗;ai也能识别
(2)延伸:就是让机器的能力能超越人类的局限;比如:人类是记不住海量的数据,ai能瞬间记住大的数据
(3)拓展:就让智能应用到更多场景;比如:24小时不间断的工作,24小时监控天气、汇报
(一)计算机视觉(cv)
能让机器拥有眼睛、能看懂图片、视频等
(二)自然语言处理(nlp)
让机器用于理解能力,能听懂,能读
(1) 学习:比如数据学习,抖音,淘宝搜寻喜欢的衣服,给你推荐不同的衣服,相关衣服
(2)推理:比如有乌云,推理出下雨、气温
(3)语言理解:比如:不同的方言、文字、图片,能听懂指令、语音助手
(4)决策:比如:导航根据不同的路径,给你调整路线;(高速优先,优先决策)
二、机器学习
让机器通过”学习大量的数据“自己总结规律、提升能力、不用人类手动编写每一步指令;
比如:ai能精准的识别猫和狗,不需要明确说明,”猫有尖耳朵,狗有尾巴“;
通过学习几十万,几百万张狗和猫的图片,总结出猫和狗的核心区别,精准区别;
工作:ai训练师、数据标注
三、深度学习
是机器学的进阶版,相当于给机器装饰了聪明的大脑,它能通过模拟人类大脑神经网络结构,让机器能够处理更复杂的数据、更精细的任务
比如:ai中能对话的ai助手,能识别文档的内容,进行问答,多轮交互,
ai生产更逼真的图片;
ai生产更全面,更像的文档
四、AIGC ( 人工智能生成内容)
aigc就是通过人工智能技术,自动化生产各类内容的技术和应用
核心:让ai能自主生产新内容,不是简单的复制,黏贴,会根据我们需求,生成文字、图片、视频的全新内容
(1)文案生成:豆包、deepseek、chatgpt、文心一言、kimi、通义千问等
(2)图片生成:即梦、豆包、chatgpt4.0、comfy ui 、midjourney等
(3)视频生产:剪映ai、海螺ai、可灵ai、即梦ai
五、AI大模型(多模态大模型)
定义:依托大数据、大算力、transformer强算法构建,参数量>=10亿的巨型深度神经网络,通过海量无标注数据完成预训练,具备
强通用泛化能力,可跨领域完成多类任务,无需大量定制花改造即可适配对话、创作、推理、识图等场景。
小模型<10亿
大模型>=10亿
核心构成:
(1)超大参数规模
(2)海量训练数据
(3)超高算力消耗
两大主流分类:
(1)单模态大模型(LLM大语言模型)
仅处理文本、正恁给输入文字、输入文字
比如:gpt3、早期通义千问
(2)多模态大模型(MLLM ,当前的主流)
可同时兼容文本、图片、视频、音频、3d多种薪资,实现跨模态理解和生成;
比如: gpt-4v、文心一言、通义万相、讯飞星火多模态
六、ai能做什么?ai做什么?
ai能做:
1、重复性工作(文案生成、数据统计、表格整理)
2、复杂的数据处理(大量的数据筛选、异常数据的排查)
3、内容生产(文案、图片、视频)
4、语言的理解(ai语言对话、ai客服)
ai不能做:
1、没有数据支撑的决策(如:未训练,ai无法判断一个全新的行业)
2、情感共鸣和人文思考(如:不能写出有深度的文学作品)
3、超出训练范围的创新(如:超出现有的知识的创造)
4、绝对的精准无错(ai容易出现偏见、幻觉、泛化等)
AI 软件测试
一、什么是ai软件测试?
定义:ai软件测试是针对ai产品的全流程、多维度的测试活动
核心测试对象:ai的大模型、数据、功能、最终的目的验证ai产品的准确性、稳定性、安全和合规性、确保ai产品能稳定、可靠、合规的落地使用
ai 测试内容:
(1)功能能力测试(2)幻觉专向测试(3)鲁棒性测试(4)安全对齐测试(5)性能测试 (6)多模态专项测试(7)rag知识库测试、(8)合规和隐私测试
ai测试标准流程:
需求评审测试计划编写测试用例编写设计数据集用例搭建幻觉执行测试用例(功能、幻觉、鲁棒性、偏见)有bug提交给开发,直到用例100%执行输出测试报告验收封装版本上线上线成功
二、ai软件测试核心价值?
1、保障ai产品输出和输入的准确
2、避免ai出现幻觉、偏见等
3、提升用户体验
如:答非所问、ai文案逻辑混乱
4、符合行业合规标准
如:ai不能泄漏隐私、个人金额、存款
三、传统测试和ai测试差异
(1)测试对象
ai软件测试:模型、数据、功能
传统测试:功能、代码、逻辑
(2)测试方法
ai软件测试:统计分析法、多轮测试方法、对照组测试、数据排查方法(核心验证:输出正确性、一致性、无偏见、符合逻辑)
传统测试: 黑盒测试方法(等价类、边界值、场景法等)、白盒测试方法(语句覆盖、条件覆盖、判断覆盖等)
(3) 测试难点
ai软件测试:数据质量的参差不齐,幻觉难以预判,偏见难以量化,ai 输出的是动态,无法提前预判
传统测试:代码逻辑复杂,bug难以排查
四、ai测试的难点:
(1)数据质量参差不齐
ai学习依赖数据,数据就像是ai教材,教材有误,有缺失,格式不完整,ai就会学错,输出结果也是错的
(2)ai 幻觉难以预判
ai很容易出现虚假信息,也叫幻觉
(3)偏见难以量
ai偏见:性别偏见,地域偏见
五、ai模型的完整流程?
数据采集(源头)》数据预处理(基础)》模型训练(核心)模型部署(桥梁)产品应用(目的)
(1)数据采集
ai模型的源头,核心作用:收集ai学习所需要的原始数据;
ai数据根据ai产品的需求,来提供
比如:ai文档生产模型,采集海量的文案教程
(2)数据预处理
ai模型的数据筛选与优化环节
核心作用:对数据的原始书进行清洗、整理、标准化
比如:整理教材、删除无效数据、标注重点数据内容
a、清洗:删除控制、错误数据、重复数据
b、标准化:统一数据格式,比如:省、市、县、镇 匹配
c、筛选:删除无关数据,整理成规范的数据
(3)模型训练:
ai模型学习环节
核心作用:让模型通过学习预处理的优质数据,总计规律,提升能力
(4)模型部署
ai模型从“从实验室”走向实际应用的关键环节
核心作用:将训练好的数据,部署到具体的ai产品中,让模拟能接受用户需求,输出正确的数据结果
(5)产品的应用
ai产品使用
核心作用:让部署后的模型,通过ai产品为用户提供服务、收集用户反馈,为模型优化提供依据
六、ai模型中三类数据:
训练数据、测试数据、标注数据
(1)训练数据
用于ai模型训练的优质数据,是一个模型,是一个学习知识的教材
(2)测试数据
用于测试ai模型的问题,排查模型中的问题的数据
(3)标注数据
对原始书进行标记,说明修改后的数据,相对预给ai模型的教材标注了重点
七、ai岗位
- AI 软件测试工程师
岗位职责:负责 AI 软件功能测试、AI 工具落地与测试提效、AI 测试数据质量验证与评估。
核心技能:软件测试基础、AI 工具使用、数据质量测试、自动化测试。
薪资范围:10k–25k - 大模型算法工程师
岗位职责:负责 AI 模型研发、AI 工具开发与优化、大模型算法落地。
核心技能:大模型原理、深度学习框架、算法设计与调优。
薪资范围:20k–35k - AIGC 应用工程师(AIGC 岗位)
岗位职责:负责 AI 生成内容相关产品落地、AIGC 工具应用与场景落地。
核心技能:AIGC 产品使用、提示词工程、内容生成与优化。
薪资范围:8k–13k - AI 产品经理
岗位职责:负责 AI 产品需求梳理、功能规划、大模型产品设计、项目推进。
核心技能:产品设计、需求分析、AI 产品逻辑、项目管理。
薪资范围:可根据经验补充,常见区间:15k–35k - AI 大模型测试开发工程师
岗位职责:负责大模型测试体系搭建、自动化测试开发、模型效果评测、测试工具研发。
核心技能:测试开发、大模型评测、自动化框架、数据评测。
薪资范围:可根据经验补充,常见区间:18k–35k
概念词:
(1)ai gent (ai智能体)
(2)RAG技术(检索增强技术)
(3)单模态ai
(4)多模态ai
(5)langchin 是一个大语言模型的编程框架
(6)cursor 人工智能编程助手,提供代码补全
(7)dify:是一个企业级开源智能体平台
(8)n8n :一个开源,基于节点的工作流的自动化工具
(9)coze(扣子):一个字节推出的零代码ai智能体开发平台,无需编程基础,就能搭建对话,,执行任务,可调用的工具助手,可以一键发布到飞书、微信、web等平台;
以上AI相关术语通俗解释
- AGI(通用人工智能) 通俗说:就是“拥有人类一样思考能力”的AI,能像人一样,自主解决各种不同类型的问题(比如既能写代码、做设计,也能聊天、做决策),目前还没完全实现,现在我们用的AI(比如ChatGPT)都只是“专用AI”(只能做特定领域的事)。 应用场景:未来可替代人类大部分复杂工作,目前IT培训中,多作为“高阶AI课程”的核心内容。
- AI Agent(AI智能体) 通俗说:就是“能自己干活的AI助手”,你给它一个目标,它不用你一步步指挥,能自主规划步骤、调用工具,完成任务。 应用场景:比如你让它“写一份IT教学文案”,它会自己找素材、写文案、修改优化,不用你逐句指导;IT教学中,常作为Python、AI开发课程的实战案例。
- RAG技术(检索增强生成) 通俗说:就是“给AI装一个‘知识库’”,让AI回答问题时,先从你给定的资料(比如IT教学课程介绍、学员案例)里找答案,再结合自身能力生成内容,避免瞎编乱造。 应用场景:IT教学机构用来做“智能教学机器人”,学员问“课程费用多少”“0基础能学吗”,机器人能精准结合机构资料回答,不用人工一直值守。
- 单模态AI 通俗说:只能处理“一种类型的信息”的AI,比如只能处理文字(像普通聊天机器人)、只能处理图片(像图片识别工具)、只能处理声音(像语音转文字),不能同时处理多种信息。 应用场景:简单的聊天机器人、图片审核工具,IT培训中是基础AI课程的内容。 5. 多模态AI 通俗说:能同时处理“多种类型信息”的AI,比如既能看图片、听声音,也能写文字、做视频,和人类的感知方式更像。 应用场景:ChatGPT 4、抖音AI生成视频工具,IT培训中是高阶AI课程(比如AI视觉、AI多模态开发)的核心内容,薪资更高。
- LangChain(朗链): angChain 是一个基于大型语言模型(LLM)的编程框架,帮助开发者更方便地将 LLM 与外部数据、 工具和业务流程结合起来,构建更实用、更强大的 AI 应用。 langchain的作用: a. 根据需求文档、接口文档或历史缺陷,自动生成测试用例 b. 使用 LangChain Agent 工具调用 Code Interpreter 工具,支持 Python 脚本生成 c. 将缺陷描述、日志等向量化存储,使用 LangChain + FAISS/Chroma 构建缺陷知识库 d. 日志异常分析,构建 LangChain 问答链,实现我这个请求超时是因为啥?这类查询,配合 LLM 实现 智能摘要与重点异常提示 e.LangChain 加载Swagger或Markdown文档,使用LLM提取字段、参数、请求类型。通过接口文档自 动生成接口测试用例和测试数据 通俗说:一个“AI开发工具包”,程序员用它能快速搭建AI应用(比如AI智能体、RAG知识库),不用从零写代码,节省开发时间。 应用场景:Python开发、AI开发课程的核心工具,学会LangChain,能快速上手AI应用开发,是IT培训中热门的实战技能。
- Cursor:Cursor是由Anysphere公司开发的人工智能编程助手,基于大语言模型提供代码补 全、解释、重构与自然语言生成函数功能,支持接入GPT-4o、Claude 3.7 Sonnet等外部模型。 通俗说:一个“AI辅助编程工具”,专门用来写代码,能自动补全代码、找代码错误、优化代码,哪怕是0基础,也能借助它快速写出简单代码。 应用场景:IT培训中,用来辅助学员学习编程(Python、Java等),降低学习难度,提升学习效率,是新手编程的“神器”。
- Dify:Dify定位为企业级开源智能体平台 通俗说:一个“零代码AI应用搭建工具”,不用懂编程,普通人也能拖拽操作,搭建出自己的AI应用(比如智能咨询机器人、AI文案生成器)。 应用场景:IT培训中,适合0基础学员入门AI应用,快速做出可落地的AI小项目,提升学习成就感。
- n8n:是一款开源的、基于节点的工作流自动化工具 通俗说:一个“自动化工具”,能把不同的软件、工具连接起来,实现“自动干活”,比如自动把社群里的学员线索导入表格、自动给学员发送宣传物料。 应用场景:IT培训中,是运维、AI自动化课程的内容;作为合作商,你也能用来简化荐客流程(比如自动跟进学员线索)。

浙公网安备 33010602011771号