2.1、软件测试概念
从需求开始,贯串整个研制过程,不只是找出软件错误,更是软件研制每一个环节一系列的统称,包含研制过程中的改进,软件质量的评定。软件测试人员是参与研制每位环节的关键角色。
软件测试目的:为了发觉程序中的错误学习软件测试怎么样,以及根据产品需求执行软件的过程保障软件研制过程中文档的质量剖析错误的形成缘由、发展趋势,提出软件研制过程中改进意见未发觉错误的软件测试也是有价值的,测试是评定软件质量的有效方式软件测试对象:
程序和文档
软件测试的价值:质量监测--尽可能的发觉版本的缺陷质量改进--建立软件研制过程质量鉴别--证明软件版本是可以成功发布的质量督查--提高团队能力成熟度(默契)软件测试七大原则:2.2、软件测试类型和测试方式2.2.1类型
web测试:网页测试
client测试:顾客端测试
moble测试:顾客端测试如webapp,app
Git/C2集成测试:
E2E测试:在真实情况下把所有的真时情况全部模拟
alpha测试:在系统测试后,用户在开发环境下测试
beta测试:在alpha测试后,用户生产环境即线带环境进行测试
兼容性测试:检测软件在不同硬件、软件平台上是否可以正常运行,即软件的可移植性
2.2.2测试方式等价类:
等价类分有效和无效两类
有效是对程序的规范是有合理输入数据所构成的集合,无效是对程序的规范不合理或无意义的数据所构成的集合.
设计原则:
每位等价类规定惟一的编号、设计一个新的测试用例尽可能的覆盖没有被覆盖的有效等价类,重这一步直至所有的等价类都被覆盖设计一个新的测试用例,使其覆盖一个仍未被覆盖的无效等价类,重复这一步骤直到无效等价类被覆盖边界值:场景测试:
运用场景对系统的功能点或业务流程的描述,因而提升测试疗效的一种方式
通常包括:从一个流程开始途中经过用例的每条路径,都可以用基本流和备选流表示。
错误推论法:
基本思想-列列举所有可能出现的错误和发生错误的特殊情况,按照这种输入设计测试用例。
常见根据
正交法:
是研究多诱因、多水平的一种试验法,借助正交表对试验进行设计,通过少数试验取代全面的试验学习软件测试怎么样,按照正交表的正交性,从之前的试验中挑出适量有代表性的点进行试验,这种代表的点具备了均匀分散、整齐可比的特性。
正交法主要用于时间紧,任务重的项目中。
2.2.3软件测试分类软件测试开发阶段分
单元测试(UnitTesting):对于软件最小可测单元进行测试
集成测试(IntegrationTesting):单元测试基础上,对两个已测单元或则多个单元进行组装测试,测试单元之间的插口:单元测试的扩充
系统测试(SystemTesting):集成测试,对于软件所有功能、安全性、性能、兼容性进行测试
UTA初验测试.(AcceptanceTesting):系统测试以后,由用户或则第三方初验公司,对软件进行测试,已查看是否符合用户需求(α、β)
是否运行分
静态测试(StaticTesting)
动态测试(DynamicTesting)
是否查看代码分
白盒测试(White-boxTesting)
黑盒测试(Black-boxTesting)
功能测试(FunctionalTesting)
界面测试(GUITesting)
着火测试(SmokeTesting)
回归测试(RegressionTesting)
业务逻辑测试
兼容性测试
易用性测试
性能测试(PerformanceTesting)
负载测试:对系统指标不断施压,达到饱和
压力测试:对系统不断施压直到系统崩溃
并发测试:某个业务、相同业务同时访问用户的支持数目;最大并发=总用户/10
稳定性测试
灰盒测试(Gray-boxTesting)
是否手工分
手工测试(ManualTesting)
手动化测试(AutomationTesting)
其他
用户初验测试
α测试(AlphaTesting)
β测试(BetaTesting)
回归测试
随机测试等等
2.3、软件测试的流程流程:
需求剖析(需求串讲、反串讲)-
测试计划(背景、时间节点、人员安排、风险、退出机制(测试结束的标志))-
测试剖析(思维导图)-
测试设计(测试功能节点)-
用例编撰(规范,提升测试用例的覆盖度,使劲的评审)-
环境搭建
用例执行
缺陷递交
回归测试(对缺陷修补后重新测试)-
测试报告(测试环境、测试方式、测试用例、执行情况、缺陷分布情况、处理情况、测试推论(是否可以发布))
退出机制:测试用例覆盖度100%用例执行率100%缺陷2%~5%遗留的缺陷都要用合理的解决方案2.4、测试用例的标准(规范)2.5、测试用例要素和缺陷生命周期和要素测试要素:用例编号(模块、子模块、测试场景)用例标题优先级前提条件执行步骤期望结果缺陷要素:缺陷编号(模块、子模块、测试场景)缺陷标题缺陷优先级缺陷等级再现步骤期望结果实际结果附件(截图、日志)缺陷生命周期:
递交(测试、开发)-确认(测试总监)-分配(测试主任)-修补(开发)-验证(测试人员)-关掉(测试人员)
哪些是缺陷?不符合顾客要求超过顾客要求不符合顾客习惯缺乏对异常处理的反馈即页面提示严重性分级:软件测试误区:软件测试对程序的的测试软件测试在软件开发后进行软件质量只是测试的问题和责任软件发布后的缺陷都是测试人员的问题错误软件测试对软件人员的要求不高软件测试是测试的事情和开发无关2.6、真实软件项目情况通常来说一个项目有十多个模块,每位模块大约有十五个插口开发测试的比列1:2~1:5之间实际一千行代码缺陷大约有10~20个每位开发平均每晚写100行代码测试每晚编撰或执行的用例数目大约80~100,逻辑复杂的大约30多个测试人员每晚发觉缺陷3~5个左右一个迭代通常情况下1到2个月左右