2022年软件测试基础知识大全.docx
精选学习资料 - - - - - - - - - 1.软件生命周期 SDLC优质资料欢迎下载的六个阶段1、问题的定义及规划此阶段是 软件开发 方与需求 方共同争论,主要确定软件的开发目标及其可行性;2、需求分析在确定软件开发可行的情形下,对软件需要实现的各个功能进行具体分析;需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的胜利打下良好的基础;"唯独不变的是变化本身; ",同样需求也是在整个软件开发过程中不断变化和深化的,因此我们必需制定需求变更方案来应对这种变化,以爱护整个项目的顺当进行;3 、软件设计此阶段主要依据需求分析的结果,对整个 软件系统 进行设计,如系统 框架 设计, 数据库设计 等等;软件设计一般分为总体设计和具体设计;好的软件设计将为 软件程序 编写打下良好的基础;4、程序 编码此阶段是将软件设计的结果转换成运算机 可运行的程序代码;在程序编码中必必要制定统一,符合标准的编写规范;以保证程序的可读性,易爱护性,提高 程序的运行效率;5、软件测试 在软件设计完成后要经过严密的测试,以发觉软件在整个设计过程中存在的问题并加以订正;整个测试过程分单元测试 、组装测试 以及 系统测试 三个阶段进行;测试的方法主要有 白盒测试 和黑盒测试 两种;在测试过程中需要建立 具体的测试方案并严格依据测试方案进行测试,以削减测试的随便性;6、运行爱护 软件爱护是软件生命周期中连续时间最长的阶段;在软件开发完成并投入使用 后,由于多方面的缘由,软件不能连续适应用户的要求;要连续软件的使用寿 命,就必需对软件进行爱护;软件的爱护包括纠错性爱护和改进性爱护两个方 面;2 、软件生命周期模型从概念提出的那一刻开头,软件产品就进入了软件生命周期;在经受需求、分 析、设计、实现、部署后,软件将被使用并进入爱护阶段,直到最终由于缺少爱护费用而逐步消亡;这样的一个过程,称为 Model );"生命周期模型 "(Life Cycle 典型的几种生命周期模型包括瀑布模型、快速原型模型、迭代模型;名师归纳总结 - - - - - - -第 1 页,共 9 页精选学习资料 - - - - - - - - - 优质资料 欢迎下载瀑布模型的特点 (文档是主体) ,很多的问题在最终才会暴露出来;迭代模型比 瀑布模型问题暴露的要早;快速原型法比瀑布模型直观;3. 软件测试概念广义概念:指软件生存周期中全部的检查、评审和确认工作,其中包括了对分 析、设计阶段,以及完成开发后爱护阶段的各类文档、代码的审查和 确认狭义概念:识别软件缺陷的过程,即实际结果与预期结果的不一样4. 软件测试目的测试的目的就是发觉软件中的各种缺陷 测试只能证明软件存在缺陷,不能证明软件不存在缺陷 测试可以使软件中缺陷降低到肯定程度,而不是完全毁灭 以较少的用例、时间和人力找出软件中的各种错误和缺陷,以确保软件 的质量5 软件测试原就Good-enough: 一种权衡投入 / 产出比的原就保证测试的掩盖程度,但穷举测试是不行能的 全部的测试都应追溯到用户需求 越早测试越好,测试过程与开发过程应是相结合的 测试的规模由小而大,从单元测试到系统测试 为了尽可能地发觉错误,应当由独立的第三方来测试 不能为了便于测试擅自修改程序 既应当测试软件该做什么也应当测试软件不该做什么6 软件测试的的重点测试用例的设计测试用例的设计是整个软件测试工作的核心测试用例反映对被测对象的质量要求,打算对测试对象的质量评 估 测试工作的治理特殊是对包含多个子系统的大型软件系统,其测试工作涉及大量 人力和物力,有效的测试工作治理是保证有效测试工作的必要前 提测试环境的建立测试环境应当与实际测试环境一样7 黑盒测试名师归纳总结 - - - - - - -第 2 页,共 9 页精选学习资料 - - - - - - - - - 优质资料 欢迎下载什么是黑盒测试又称功能测试或数据驱动测试,是针对软件的功能需求/ 实现进行测试,通过测试来检测每个功能是否符合需求,不考虑程序内部的规律结构黑盒测试方法功能划分等价类划分边界值分析因果图错误估计等8 什么是白盒测试白盒测试也称结构测试或规律驱动测试,必需知道软件内部工作过程,通过测试来检测软件内部是否依据需求、设计正常运行白盒测试的主要方法对应于程序的一些主要结构:语句、分支、规律路径、变量;白盒测试的主要方法是:语句掩盖方法分支掩盖方法规律掩盖方法9. 什么是动态测试动态测试需要在开发 / 测试环境或实际运行环境中运行软件,并使用测试用例去查找软件缺陷;动态测试包括功能确认与接口测试、掩盖率分析、性能分析、内存分析等10. 什么是静态测试静态测试不实际运行软件,主要是对软件的编程格式、结构等方面进行评估 静态测试包括代码检查、程序结构分析、代码质量度量等;它可以由人工进.行,也可以借助软件工具自动进行11. 手工测试和自动测试a. 手工测试缺点在于测试工作量大,重复多,回来测试难以实现b. 自动测试利用软件测试工具自动实现全部或部分测试工作:治理、设计、执行和报告;节约大量的测试开销,并能够完成一些手工测试无法实现的测试名师归纳总结 手工完成测试的全部过程无法保证测试的科学性与严密性: 第 3 页,共 9 页修改的缺陷越多,回来测试越困难- - - - - - -精选学习资料 - - - - - - - - - 优质资料 欢迎下载没有人能向决策层供应精确的数据以度量当前的工作进度及工作 效率反复测试带来的倦怠心情及其他人为因素使得测试标准前后不一测试花费的时间越长,测试的严格性也就越低 自动测试将测试人员从反复、烦杂的测试执行中解放出来,用更多的时 间进行测试设计和结果分析 软件测试不行能完全自动化 不能完成全部手工测试任务 无制造性且敏捷性差,不能改进测试的有效性 过程中可能会遇到很多意想不到的问题,特殊是当软件不稳固时 测试脚本的爱护高12. 测试流程单元测试 集成测试 系统测试 用户验收测试 回来测试确认测试报告 系统测试报告需求分析 确认测试方案(说明)系统测试方案(说明)概要设计集成测试方案(说明)具体设计系统 /确认测试集成测试报告集成测试单元测试报告单元测试单元测试方案编码名师归纳总结 - - - - - - -第 4 页,共 9 页精选学习资料 - - - - - - - - - 优质资料 欢迎下载确定测 试要 求制定 测试 方案有修改双方确 定测 试方案通 过制定测 试方 案支配项 目进 度培训测 试人 员建立测 试环 境编写 测试用 例执 行测试 方案未 完成否检测 并在数 据库 中记录 缺陷是完 成回来 测试否测 试报 告填写 向 用户提 交缺 陷列表客 户 开 发人员 修正错 误13. 单元测试完成对最小的软件设计单元模块的验证工作目标是确保模块被正确地编码名师归纳总结 - - - - - - -第 5 页,共 9 页精选学习资料 - - - - - - - - - 优质资料 欢迎下载使用过程设计描述作为指南,对重要的掌握路径进行测试以发觉模块内 的错误 通常情形下是面对白盒的 对代码风格和规章、程序设计和结构、业务规律等进行静态测试,及早 地发觉和解决不易显现的错误单元测试的内容接口测试内部数据结构全局数据结构边界语句掩盖,错误路径14. 集成测试通过测试发觉与模块接口有关的问题 目标是把通过了单元测试的模块拿来,构造一个在设计中所描述的程序 结构 应当防止一次性的集成(除非软件规模很小),而采纳增量集成集成测试主要内容API API/ 参数组合15 系统测试依据软件需求规范的要求进行系统测试,确认系统满意需求的要求 系统测试人员相当于用户代言人 在需求分析阶段要确定软件的可测性,保证有效完成系统测试工作 系统测试主要内容 全部功能需求得到满意 全部性能需求得到满意 其他需求(例如安全性、容错性、兼容性等)得到满意16. 用户验收 / 确认测试Alpha 测试是由用户在开发者的场所来进行的,Alpha 测试是在一个受控的环境中进行的Beta 测试由软件的最终用户在一个或多个用户场所来进行的,开发者通常 不在现场,用户记录测试中遇到的问题并报告给开发者名师归纳总结 - - - - - - -第 6 页,共 9 页精选学习资料 - - - - - - - - - 优质资料 欢迎下载17 压力测试 VS 性能测试性能测试的目的不是去找bugs, 而是排除系统的瓶颈,以及为以后的回来测试建立一个基准;而性能测试的操作,实际上就是一个特别当心受控的测量分 析过程;在抱负的情形下,被测软件在这个时候已经是足够稳固了性能测试是为了检查系统的反映,运行速度等性能指标,他的前提是要求在一定负载下,如检查一个网站在100 人同时在线的情形下的性能指标,每个用户是否都仍可以正常的完成操作等;概括就是:在不同负载下(负载肯定)时,通过一些系统参数(如反应时间等)检查系统的运行情形;压力测试是为了发觉系统能支持的最大负载,他的前提是要求系统性能处在可 以接受的范畴内,比如常常规定的叶面 3 秒钟内响应;概括就是:在性能可以 接受的前提下,测试系统可以支持的最大负载;举例说明:针对一个网站进行测试,模拟 10 到 50 个用户就是在进行常规性能 测试,用户增加到 1000 乃至上万就变成了压力 / 负载测试;假如同时对系统进 行大量的数据查询操作,就包含了强度测试;18. 主流 测试工具 的测试流程=winrunner 1 启动时挑选要加载的插件 2 进行一些设置(如录制模式等)3 识别应用程序的 GUI,即创建 map就是学习被测试软件的界面)4 建立测试脚本(录制及编写)5 对脚本除错及调试(保证能够运行完)6 插入各种检查点(图片,文字,控件等)7 在新版应用程序中执行测试脚本 8 分析结果,回报缺陷=quicktestpro= 1 预备录制打开你要对其进行测试的应用程序,并检查 当前的要求;2 进行录制QuickTest 中的各项设置是否适合打开 QuickTest 的录制功能,按测试用例中的描述,操作被测试应用程序;3 编辑测试脚本 通过加入检测点、参数化测试,以及添加分支、循环等掌握语句,来增强测试脚本的功能,使将来的回来测试真正能够自动化;4 调试脚本调试脚本,检查脚本是否存在错误;5 在回来测试中运行测试在对应用程序的回来测试中,通过QuickTest 回放对应用程序的操作,检验软件正确性,实现测试的自动化进行;名师归纳总结 - - - - - - -第 7 页,共 9 页精选学习资料 - - - - - - - - - 优质资料 欢迎下载6 分析结果,报告问题 查看 QuickTest 记录的运行结果,记录问题,报告测试结果; TestDirect= 安装好后,先进入站点治理 1 创建域及工程 2 添加用户 3 编辑 licenses 及本服务器 4 编辑数据库 TD 1 挑选新建的工程进行定制 列表,用户,组,版本等 2 在 require中增加需求3 把需求转化为 plan 4 在 testlab 中由方案新建测试具体用例与执行5 发觉 bug,在 defect 中提交 bug (每一部分都可以相对独立地使用)=loadrunner 1 制定负载测试方案 分析应用程序,确定测试目标,方案怎样执行LoadRunner)2 开发测试脚本(录制基本的用户脚本,完善测试脚本)3 创建运行场景(挑选场景类型为 Manual Scenario ,挑选场景类型,懂得各种类型,场景的类 型转化)4 运行测试5 监视场景(MEMORY 相关, PROCESSOR 相关,网络吞量以及带宽,磁盘相关,序 ,IIS5.0 ,SQL SERVER,NETWORK DELAY 等 WEB应用程6 分析测试结果 分析实时监视图表 , 分析事务的响应时间 , 分解页面 , 确定 WEBSERVER 的问题 , 其 他有用的功能 名师归纳总结 - - - - - - -第 8 页,共 9 页精选学习资料 - - - - - - - - - 名师归纳总结 优质资料欢迎下载第 9 页,共 9 页- - - - - - -