一.软件测试基础
1.软件测试前世今生:
使用人工或自动的手段来运行或测定某个软件系统或系统部件的过程,其目的在于检验他是否满足规定的需求或弄清预期结果与实际结果之间的差别。
2.软件测试的概念:
在规定条件下对程序进行操作,以发现程序的错误,并对其是否能满足设计要求进行评估的过程。
3.
一.软件测试基础
1.软件测试前世今生:
使用人工或自动的手段来运行或测定某个软件系统或系统部件的过程,其目的在于检验他是否满足规定的需求或弄清预期结果与实际结果之间的差别。
2.软件测试的概念:
在规定条件下对程序进行操作,以发现程序的错误,并对其是否能满足设计要求进行评估的过程。
3.
一.软件测试基础
1.软件测试前世今生:
使用人工或自动的手段来运行或测定某个软件系统或系统部件的过程,其目的在于检验他是否满足规定的需求或弄清预期结果与实际结果之间的差别。
2.软件测试的概念:
在规定条件下对程序进行操作,以发现程序的错误,并对其是否能满足设计要求进行评估的过程。
一.软件测试基础
1.软件测试前世今生:
使用人工或自动的手段来运行或测定某个软件系统或系统部件的过程,其目的在于检验他是否满足规定的需求或弄清预期结果与实际结果之间的差别。
2.
单元测试:
新型开发模式:
单元:一个函数;类或者里面成员函数;几个函数的集合。
单元测试步骤:
1,人工静态检查
2,动态执行跟踪
集成测试:
把前面的单元组合起来测试;检查接口之间的问题,数据交换问题,是多个子功能拼起来,是否能实现副功能
集成测试的前提:单元测试通过
集成测试的重点:模块拼接起来是否产生不好的结果。整个的数据结构。单个模块的问题,组合起来是否问题更大了
集成测试方法:
非增式集成测试法
增式集成测试法
按照状态方法分为
静态测试:需求设计,文档,程序的评审分析其正确性,不需要运行程序。
动态测试:写测试用例,运行程序,看运行的结果是否一致。运行程序发现问题。
黑盒测试:
基础的测试,可以实现哪些功能,从用户角度出发的测试,尽可能地发现 外部的错误,外部的测试,不需要知道软件如何实现的。根据需求设计测试用例。
好处的是不管软件如何迭代,测试用例可以一直用;还有就是,开发可以开发,测试用例可以同步进行,互不相干,最终开发出来的要和需求文档一致,节省时间。
穷举:把每一种可能性列举出来,一般采用测试方法。
灰盒测试:
是白盒和黑盒的集合
白盒测试:
看内部结构是否正确,级别技术水平比开发高
性能测试:功能测试的进阶,多数是自动化方法
性能测试分类:
1,压力测试:发现性能瓶颈
2,负载测试:承受多少强度
3,并发测试:多个用户同时访问惠南产生的问题
安全测试:测试项目里安全的问题。防御
按照方法:
黑盒测试:
灰盒测试:
白盒测试:
软件测试分类
按照方向:功能测试、性能测试、安全测试
功能测试和单元测试的区别:对象不一样,功能测试的对象是一个完整的业务功能,单元测试的对象是一个代码片段,比如类,接口。
按照方法
按照状态
按照阶段
按照对象
V和W区别
V是瀑布型的进化,对于V型来说是按照制定好的里程实施的过程
W是V型的进化,是由2个V型组成的,对于W型来说测试是在一开始加入了整个开发过程里面。这样有利于我们早期发现问题,降低了我们产品后期发现问题的可能性。
用哪个好,具体要看实施项目
敏捷型
优点:
高度迭代,有周期性,能够及时、持续响应客户的频繁反馈。
迭代:是重复反馈的过程,
缺点:
周期长,成本高。
大型项目经常用迭代;
小项目用传统模型。
瀑布模型 定义:将软件生存周期的各项活动规定按照固定的顺序而连接的若干阶段工作,形状如 瀑布流水,最终得到软件产品。从上到下
优点:
1.为项目提供了按阶段划分的 检查点
2.当前一阶段完成后,只需去关注后续阶段
3.可在迭代模型中应用瀑布模型
4.它提供了一个模板
缺点:
1.各个阶段划分完全固定,阶段之间产生大量的文档,增加了工作量。
2.开发模型是线性的,只能等到整个过程的末期才能看到开发成果 测试,增加了开发风险,增加了修复代价。
3.过多的强制完成日期和里程来跟踪各个阶段,给到的时间固定,时间比较少。
4.不适应用户需求的变化
V模型
没有贯穿整个开发流程
W模型
W模型是2个V型
优点:
1.最早的发现发现问题
2.对于需求增加测试可以了解到整个项目 测试的难度,测试风险,减少了测试的时间,加快了项目的进度。
缺点:
1.没办法支持迭代
软件开发模型:瀑布型 V型 W型 敏捷型 X型
H型 螺旋型
boehm软件工程经济
一个bug发现时间早晚 ~付出代价的呈现指数
需求分析阶段~~代价是 1
设计阶段~~代价是3-6倍
编程阶段~~代价是10倍
内部测试阶段~~代价是20-40倍
外部测试~~代价是30-70倍
产品发布40-1000倍
发现越早代价越小
80/20原则
管理定律
优先级高的需要测试部分占20%
股票 stock
股票配资
买涨买跌
测试的工作流程:
项目启动~需求分析~测试计划~测试执行~跟踪管理~测试总结
项目启动(人员分配,测试组长的选择)
需求分析(学习业务流程,根据业务流程提取测试的)
需求分类:
功能需求(基本的功能;可在需求文档找到)
非功能需求(系统的响应时间,负载容量,用户体验等等)
测试时候的针对对象的不同,站的角度也不同;企业用户和个人用户。
第一阶段:计划阶段
第二阶段:需求分析 需求文档。隐性需求!
第三阶段; 设计阶段 要了解在哪个页面实现的。
第四阶段; 开发阶段 单元测试
第五阶段 :测试阶段 测试,提交,跟踪bug 重新测试(回归测试)
第六阶段 :运营维护阶段
项目结构 : 项目经理 产品经理 需求分析师
UI设计 前端 后端 软件测试 运维
运营
第一阶段:计划阶段
第二阶段:需求分析
第三阶段; 设计阶段
第四阶段; 开发阶段
第五阶段 :测试阶段
第六阶段 :运营维护阶段
项目结构 : 项目经理 产品经理 需求分析师
UI设计 前端 后端 软件测试 运维
运营
软件测试流程
软件测试贯穿了整个软件的生命周期
软件开发流程:第一阶段~~计划阶段
马斯洛需求层次理论
软件测试 未来发展:
只有自学和培训机构学习的工作人员。
经典定义:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
小故事:千年虫问题,美国火星登陆事故,爱国者导弹防御系统。
1994年互联网发展进入国内
发展现状:电脑;由硬件和软件组成
硬件:能看到的,真实存在的,比如:显卡、主板、显示器等。
软件:包括程序、数据、文档的集合。
分类:系统软件:Linux。MacOS。Windows。
支撑软件:数据库、文进系统。
应用软件:QQ、微信