软件测试过程软件和软件测试1.软件的定义软件是计算机系统中与硬件相互依存的另一部分他是包括程序和文档的完整集合2.按功能划分系统软件支撑软件应用软件按规模划分小型10下中性10-100 大型100上3.技术特点划分业务软件科技计算软件(图形计算)嵌入式软件实时软件×火灾自动报警系统个人计算机软件人工智能软件4.软件的特点逻辑实体软件生产和硬件的生产不同软件运行和使用没有机械磨损和老化问题开发和运行对计算机系统有一定以来5.概念市委了发现错误而执行程序的过程应关心程序的效率和鲁棒性等因素艰险软件是否满足规定的需求弄清与其与实际结果之间的差别6.软件测试的定义使用人工和自动手段来运行或测试某个系统,检测他是否满足规定的需求或弄清与其结果与实际结果之间的差别7.软件测试活动一般包括制定测试计划--设计测试用例--实施测试(提交缺陷报告)--测试总结8.测试和调试的区别测试运行软件,其该功能不符合需求说明的,一般由测试人员完成调试一般由开发人员来完成,检查其编写的代码有没有编写错误9.缺陷defect不满用户需求10.产生缺陷的原因人员交流文档不全需要不断变化参与人员过度自信陈旭设计本身有错误软件复杂度大工期短任务重时间压力大11.识别缺陷的依据文档需求说明手设计说明书用户手册了解软件行业标准行业北京同类软件通过沟通来确认和识别缺陷12.再现与优化缺陷的方法不要想当然的接受任何假设查找依赖关系和竞争条件的问题与压力和符合相关的边界条件软件缺陷内存泄露数据一处缺陷发生有一定的前提条件状态缺陷仅在特定软件状态中显露考虑资源依赖行淫奸失效问题软件失效问题从阅读缺陷报告起提高写缺陷13.有效记录缺陷的方法保证重现分析故障必要步骤方便阅读尽量简单语气值得注意的经验14.缺陷报告的用途记录缺陷缺陷分类缺陷跟踪15.为何要尽早报告缺陷?越早找到bug,能修复bug的时间就越多。
16是不是所有的缺陷都会被修复?17缺陷报告的分类18按缺陷所处的状态分类待确认的,新提交的,已分配的,问题未解决的,待返测的,待归档的,已归档的19按处理意见分类已修改的,不是问题,无法修改,以后版本解决,保留,重复,无法重现20软件生命周期可行性分析需求分析设计编码测试软件发布维护淘汰21瀑布模型:计划—需求分析—设计—编码—测试—运行维护22螺旋模型:需求定义—风险分析--工程实现—评审极限编程敏捷编程23编写测试计划项目名称目的背景范围测试策略测试内容人员分配术语测试进度需要资源风险和问题参考手册提交文档测试计划的制定尽早制定所有人要通过使用过程中对测试计划进行必要监测测试项目是否按照计划执行测试计划是否需要调整或修改测试计划的最终用户24软件开发和测试流程需求阶段根据需求说明书生成系统测试方案设计编码阶段--根据概要设计-- 生成集成测试方案--单元测试方案集成系统验收阶段-- 通过产品综合评价测试总结文档测试过程和流程的区别25V模型用户需求验收测试需求分析与系统系统测试概要设计说明书集成测试详细设计说明书单元测试编码H W模型26软件测试的阶段单元测试--集成测试-- 确认测试(软件配置审查有效性测试)-- 系统测试--验收测试27单元测试好的单元测试会在产品开发的阶段发现大部分的曲线并且修改他们的成本也很低什么时候做修改都要进行回归测试选择正确测试策略经过单元测试的系统集成过程会简化后期阶段曲线的发现和修改会更加困难并消耗大量的时间和开发费用桩模块stub 和驱动模块driver28集成测试非增式集成方法增式集成方法自顶向下测试自底向上测试29软件测试的方法和策略1.静态测试不用写测试用例能使用自动化工具静态测试内容动态测试2黑盒测试和白盒测试3手工测试与自动测试自动测试有点节约大量时间处理精确和事务大数据量的事务并发事务自动测试局限产品本身不稳定开发维护脚本工作量大费用高人才缺乏4冒烟测试5回归测试其它的测试方法功能测试性能测试压力测试负载测试易用性测试安装测试界面测试配置测试文档测试兼容性测试安全性测试恢复测试软件质量和评审什么是评审(不用记概念)软件在开发的各种阶段涉及的文档P9029 文档分类开发文档管理文档用户文档30软件质量与软件过程的关系软件质量:软件产品的特性可以满足用户的功能性能需求的能力软件测试与软件过程的关系31测试总结和评估软件质量评估覆盖评测基本需求的测试覆盖基于代码的测试覆盖软件质量评估缺陷报告缺陷分布(密度)报告(缺陷状态与优先级缺陷状态与严重性)缺陷龄期报告缺陷趋势报告性能评测动态监测相应时间/吞吐量百分位报告比较报告追踪报告测试总结总结的作用和模板高效测试测试用例1什么是测试用例为实施测试而向被测试系统提供的输入数据,操作或各种环境设置以及期望结果的一个特定的集合解决要测什么怎么测和如何衡量的问题2测试用例的用途核实需求监督过程评估结果准确回归防止遗漏提高效率缩短周期3测试用例的内容EXCEL模块WORD模块测试用例模块可以根据所测对象的不同对模块内容进行调整测试用例的更新和维护需要更新和维护的原因测试用例要经过正式有效的评审利用工具来维护测试用例4通用测试技术等价类划分边界值分析因果图法输入先后无次序状态图法输入先后有次序通过测试失败测试错误猜测随机测试测试大纲方法输入非法数据输入默认值输入特殊字符集输入使缓冲区溢出的数据输入产生错误的合法数据组合同一个输入产生各种可能输出产生不符合业务规则的无效输出输出属性修改后的结果输出具有可修改的属性检查屏幕刷新数据结构溢出数据机构不符合约束操作数和操作符不符函数递归调用计算结果溢出数据共享或关联功能出错使文件系统超载使介质忙或不可用介质损坏使用不合法的文件名更改文件访问权限文件内容受损功能和界面测试文档测试安装测试兼容性测试加密测试易用性测试白盒测试白盒测试技术1白盒测试策略单元测试桌前检查同行评审代码评审代码走查静态分析代码质量3大覆盖标准单元测试报告单元测试测试对象测试目的测试方法软件质量功能性可靠性易用性效率可维护性可移植性常用指标缺陷率(缺陷密度) 可靠性(运行N小时失效次数) 顾客满意度代码度量代码行度量法Halstead软件科学法结构度量McCabe度量法Logiscope代码检查工具覆盖测试语句覆盖分支(判定)覆盖条件覆盖分支-条件覆盖条件组合覆盖路径覆盖基本路径覆盖(循环覆盖[简单循环嵌套循环串接循环不规则循环])单元测试的内容功能测试语句和分支覆盖率模块涉及是否合理输入和输出接口测试内部数据流测试其他要特定要求的测试单元测试的步骤理解设计概览源代码走读代码涉及测试用例搭建测试环境执行测试用例重复进行涉及测试用例和加载测试分析判断给出结论单元测试报告的内容单元测试过程测试结果(测试用例统计覆盖率质量度量) 单元测试产品质量评估单元测试总结静态数据流分析控制流数据流可以发现的缺陷引用未定义变量使用多次找出循环内定义的变量优化变量赋值LINUX命令LINUX历史GNU FSF自由软件基金会推行的GNU GPL协议POSIX基本命令LSCDpwdCPmkdirrmdirmvrmLINUX文件名文件或命名补全功能LINUX路径/ ~ . ..LINUX的文件权限CHMOD文档权限FHS标准常见目录挂载Mount umountsamba的配置和使用tar打包文件gz bz2 rpmperl模块的安装perl Makefile.plmakemake testmake installrpm包安装rpm –ivhrpm –Uvh 表示升级-nodeps 不检查软件的安装依赖,直接安装rpm –q rpm的查询邮件分发MUA(客户端) MDA(邮件分发代理) MTA(邮件传输代理)邮件传输协议POP IMAP (收) SMTP(发)BUGZILLA安装配置MysqlApache的安装配置Apacheshell编程正则表达式shell的种类shell的缺省bash环境文件shell的执行shell的特殊字符双引号单引号倒引号输入输出重定向注释环境变量LINUX系统中的运行级别chkconfig代理和防火墙NA TXwindowgcc的编译过程。