史上最全面!!软件测试(知识点整理)

绝世美人儿
591次浏览
2021年02月21日 09:09
最佳经验
本文由作者推荐

-

2021年2月21日发(作者:数字起卦方法)



软件测试




1




软件工程概述



1.1



软件工程起源



1.1.1



软件的发展及特点



1.1.1.1



计算机硬件的发展



1.1.1.2



计算机软件的发展



1.1.1.3



计算机软件特点



1.2



软件危机



1.2.1



软件危机的表现



1.2.2



软件危机的形成条件



1.2.3



软件工程的提出



1.3



软件工程概述



软件工程



是研究和应用如何以系统性 的、


规范性的、


可定量的过程化方法去开发和维护软

< p>
件,


以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好 的技术方


法结合起来。



1.3.1



软件工程三要素



方法、过程和工具。



1.



方法




1




结构化方法(模块化方法)



将系统分 解为具有层次结构的模块或过程,


在设计和实现模块的内容时候,


不同




考虑其他模块的内部实现细 节,


而只需要考虑本模块的实现和与其他模块实现的接口。




2




面向对象方法



面向对象方法的核心概 念是“类”


,类是对具有相同属性和行为的一个或多个对


象的抽 象描述。




3




形式化方法



形式化方法是描述系统性 质的基于数学的技术,


此技术提供了一个框架,


可以在


框架中以系统的方式刻画。开发和验证系统。




4




基于构件的方法



构件是可复用的软件 组成成分,


可以独立地制造、


分发、


销 售和装配的二进制软


件单元,是可执行软件的一个物理封装,他有良好的接口,可被用来 构造其他软件



涉及三个子过程,构件开发、构件管理、基于构件的应用组装。




5




基于


Agent


的方法



面向多


Agent


的观点认为现实世界是由许多自主的或非自主的实体组成,


它们按


照各种关系组织起来,彼此间进行各种交互与通信,完成各种复杂的任务 。




6




基于敏捷技术的方法



敏捷方法汲取众 多轻型方法的“精华”


,恰当的表达这些方法的最根本之处



2.



过程



RUP


软件生命周期四过程:初始、细化、构造、交付






3.



工具




1




管理工具



主要对软件项目活动进行支持,如管理工具


Microsoft


Project


、需求管理工具


Doo rs


、测试管理工具


TestDirector


、配置管理工具


Microsoft Visual SourceSafe





2




开发工具



主要对软件的系统分析与设 计、


开发及测试活动进行支持,


如系统建模工具


Rose



集成开发环境


JB uilding



Framework


、单元测试工具


JUnit


、性能测试


工具


LoadRunner



3




其他工具



图形化工具,如例图、鱼骨图



1.3.2



软件开发工程模型



1.



瀑布模型




2.



原型模型




3.



增量模型






4.



喷泉模型




5.



螺旋模型





1.4



软件过程能力评估与


CMM/CMMI



CMM


是软件过程能力成熟度模型(


Capacity Maturity Model


)的简称, 是卡内


基-梅隆大学软件工程研究院为了满足美国联邦政府评估软件供应



商能力的要求,





1986


年开始研究的模型,并于


1991


年正式推出了


CMM 1.0


版。




CMM


的五个成熟度等级



初始级:



可重复级:



确定级:



管理级:



优化级:








2




软件测试的金字塔体系



2.1




一个中心:质量


(金字塔顶点)



质量


人员


资源


技术


流程



2.2




五个要素:


(金字塔


5


个支点)




1




质量




2




人员




3




技术




4




资源




5




流程:从测试计划和测试用例的创建、评审到测试的执行、报告,设定每

个阶段的进出标准





质量


以人为本


测试覆盖率


测试效率


人员


流程


技术




1


:软件测试核心、目 标、基础等关系





2.3




五 个工作面:


(金字塔


5


个面)




1




质量


-


人员


-


技术:团队建设




2




质量


-


人员


-


资源:成本管理




3




质量


-


技术


-


流程:测试架构




4




资源


-


质量


-


流程:基础建设




5




人员


-


技术


-


流程


-


资源:项目管理


质量


成本管理


人员





< br>团




测试架构


资源




< br>队


技术


流程



2.4




八 组关系:


(金字塔


8


条边)

< p>



1




质量与人员




2




质量与流程




3




质量与技术




4




质量与资源




5




人员与技术




6




人员与流程




7




流程与资源




8




技术与资源



2.5



13


项原则



ISTQB



6


项原则




1




测试显示缺陷,但不能证明没有缺陷







2




穷尽测试是不可能的




3




测试尽早借入




4




缺陷集群性:发现缺陷多的地方,没有发现的缺陷更多




5




杀虫剂悖论:采用同样的测试用例多次重复测试将不在发现新的缺陷




6




测试活动依赖于测试背景:针对不同的测试环境,测试的活动也是不


同的。



其他重要的


7


条原则




7




持续的测试、持续的反馈




8




80/20


原则




9




建立清晰的阶段性目标



< p>
10


)测试独立性



(< /p>


11


)确保可测试性


< br>(


12


)计划是一个过程




13


)一切从用户角度出发



2.6



21


个关键域



序号



1


2


3


4


5


6


7


8


9


10


11


12


13


14


关键域



团队文化



团队业务能力



团队技术能力



团队成长



测试生命周期流程



测试基础设施



测试能力需求分析



测试设计与用例



静态测试技术



动态测试技术



非功能性测试能力



高级测试技术



自动化测试



测试计划与策略



简要说明



















15


16


17


18


19


20


21


测试环境



测试执行与监控



缺陷分析与跟踪



结果报告与分析



度量



软件产品质量评估



预防缺陷










2.7



34


个方法



序号



1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17


18


19


20


21


22


23


24


25


静态测试方法



基于不同方式的宏


观测试方法



灰盒测试



黑盒测试



类别



白盒测试



方法



语句覆盖



判定覆盖



条件覆盖



判定条件覆盖



条件组合覆盖



基本路径覆盖



等价类划覆盖



边界值分析法



判定表方法



因果图法



正交试验法



功能图法



ALAC


方法



随机测试法



错误测试法



模糊测试法



变异测试法



基于

API


测试方法



基于用例进行测试



探索式测试方法



主动测试方法



被动测试方法



手工测试方法



自动化测试方法



互为评审



备注















像用户那样进行测试










在产品发布前系统化测试



在线测试、在线监控








26


27



29


30


31


32


33


34


其他



形式化方法



轮查、走查



会议评审



工具扫描





基于模型的测试方法



基于逻辑的测试方法



基于网络的测试方法



基于代数的测试方法



基于风险的测试方法



端到端的测试方法












2.8




软件测试分类



分类依据



软件开发阶段














测试实施组织



测试类型



单元测试



集成测试



系统测试



验收测试



测试类型描述












静态测试



行软件



动态测试






黑盒测试






结构



白盒测试





开发方测试



用户测试



第三方测试












测试内容



功能测试



安全性测试



接口测试



容量测试



完整性测试



结构测试






负载测试



压力测试



恢复性测试



配置测试



兼容性测试



安装测试











疲劳强度测试




2.9



编号



软件测试的详细分类



二级目录



编号



0101


0102


0103


0104


0105


0106


0107


0108


名称



质量



缺陷



软件测试



验证和确认



主动测试



被动测试



手工测试



自动化测试



动态测试



011001


011002


011003


0110


静态测试



011004


011005


011006


011007


互为评审



走查



会议审评



需求审评



设计审评



代码审评



代码扫描





编号




三级目录



名称



名称



一级目录



01


基本概念



0109


02


白盒方法



0201


0202


0203


0204


0205


基本路径覆盖



语句覆盖



分支覆盖



条件覆盖



组合覆盖





0206


形式化方法



020601


020602


020603



020605


020606


020607


03


黑盒方法



0301


0302


0303


0304


0305


0306


0307


0308


04


单元测试



0401


0402


0403


0404


0405


0406


0407


0408


0409


05


集成测试



0501


0502


0503


等价类划分



边界值分析



因果图



决策表



状态转换法



正交试验方法



错误猜测法



模糊测试法



面向对象的单元测试



C++


单元测试



Java


单元测试



C#


单元测试



PHP


单元测试



Python


单元测试



Ruby


单元测试



AJAX


单元测试



其他程勋单元测试



桩程序



驱动程序



集成程序



050301


050302


050303


050304


050305


0504


0505


0506


06



形式化验证

< br>(UML



SPIN)


有限状 态机(


FSM



扩展有限机状态



EFSM




标准


RBAC


模 型



扩展的


RBAC

< br>模型



符号模型检验



BAN


逻辑模型






大棒模式



递增模式



深度优先策略



广度优先策略



混合模式




版本构建



持续集成



接口测试



功能测试



060101


系统测试



0601


UI


测试




060102


060103


060104





0602



性能测试



060105


060201


060202


060203


060204


060205


060206


060207


060208


0603


安全性测试



060301


060302


060303


060304


060305


060306


0604


可靠性测试



060401


060402


060403


0605


兼容性测试



060501


060502


060503


0606


基于应用的测试



060601


060602


060603


060604


060605


0607


0608


0609


0610


0611


0612



端到端测试



负面测试



回归测试



冒烟测试



验证测试



基准测试



规划测试



压力测试



负载测试



容量测试



性能指标



负载模式



代码安全



数据安全



通信安全



系统安全



加密安全



Web


系统安全



故障转移测试



备份测试



恢复测试



数据迁移测试



系统升级测试



配置测试



数据库测试



嵌入式系统的测试



分布式系统的测试



实时系统测试



云计算系统测试




部署测试



国际化测试



本地化测试



验收测试



α


测试



β


测试


-


-


-


-


-


-


-


-