【校招VIP】校招知识点总结篇之软件测试

02月02日 收藏 0 评论 0 测试开发

【校招VIP】校招知识点总结篇之软件测试

转载声明:文章来源https://blog.csdn.net/qq_38270906/article/details/83351028

1.软件设计模式:

设计原则:开闭原则(OCP)、里氏代换原则(LSP)、依赖倒转原则(DIP,抽象不应该依赖细节,细节应该依赖抽象)、合成/聚合服用(ISP)、接口隔离(CARP),最小知识(PLK)

设计模式(23种):创建型模型——单例(保证一个类仅有一个实例)、抽象工程(每次添加新的类)、建造者、工厂方法(不同条件下创建不同实例)、原型

结构型模型——适配器(使得原本由于接口不兼容而不能一起工作的那些类可以一起工作)、桥接(两个维度独立变化,依赖方式实现抽象与实现分离)、装饰((保持接口,增强性能:修饰类继承被修饰对象的抽象父类,依赖被修饰对象的实例(被修饰对象依赖注入),以实现接口扩展基类传入基本的数据,可通过后面的类进行加工处理,自主组合))、组合、外观、享元、代理

行为型模型——模板方法、命令、迭代器、观察者(一对多的依赖关系,在观察目标类里有一个ArrayList存放观察者们。当观察目标对象的状态发生改变,所有依赖于它的观察者都将得到通知,使这些观察者能够自动更新(即使用推送方式)

主题提供注册和通知的接口,观察者提供自身操作的接口。(这些观察者拥有一个同一个接口。)观察者利用主题的接口向主题注册,而主题利用观察者接口通知观察者。耦合度相当之低)、中介者、备忘录、解释器、状态、策略(策略对象依赖注入到context对象,context对象根据它的策略改变而改变它的相关行为)、指责/任链(拦截的类都实现统一接口,每个接收者都包含对下一个接收者的引用。将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。)、访问者

2.软件生存周期:

周期:问题定义、可行性分析、需求分析、总体设计、详细设计、编码和单元测试、综合测试、维护(持续时间最长,花费代价最大)

模型:瀑布模型(需求不易变更)、增量模型、演化模型、螺旋模型(制定计划、风险分析、实施工程、客户评估)、喷泉模型

需求分析:功能需求、非功能需求、设计约束(软件需求包括业务、用户、功能、非功能,软件系统需求分为功能、非功能、领域)

软件设计:原则(高内聚低耦合)、结构化分析设计、面向对象分析与设计、设计模式

软件测试:

3.软件测试

目的:

静态测试:人工检测、计算机辅助静态分析

动态测试:黑盒测试(功能测试)、白盒测试

测试用例的设计方法:黑盒技术——等价类划分、边界值分析、错误猜测、因果图

白盒测试——逻辑覆盖(语句、判定、条件、条件组合、条件覆盖)、循环覆盖、基本路经测试

边界值分析:使用在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值;

如何设计用例,各个类型用例设计案例!

过程:单元测试、集成测试、确认测试、系统测试、(验收测试)

验收测试:第一阶段-Alpha(只供内部测试使用,由用户、测试人员、开发人员共同参与的内部测试))和第二阶段-Beta测试是内测后的公测,交给最终用户测试,公司外部展开的测试,可以由非专业的测试人员执行的测试):

系统测试包括:功能测试、性能测试、可靠性测试、安全性测试;

集成测试包括:接口测试、

系统集成测试主要包括以下过程:构建的确认过程、补丁的确认过程、系统集成测试测试组提交过程、测试用例设计过程、测试代码编写过程、Bug的报告过程、每周/每两周的构建过程、点对点的测试过程、组内培训过程。

测试计划的制定:产品基本情况、测试需求说明、测试策略和记录、计划表、问题跟踪报告、测试计划的评定和结果。

4.软件项目管理

成本估算(自顶向下、自底向上、差别估算)、风险分析(未来、变化、选择)、进度管理(Gantt图、PERT图)

5.性能测试、功能测试、自动化测试:

功能测试:即黑盒测试,主要方法有等价类划分,边界值分析,错误推测,因果图法,判定表驱动分析方法,正交实验设计方法,功能图分析方法,场景分析法;测试流程:需求评审、测试计划(测试时间评估)、设计测试用例、用例review(领导、开发、产品)、提测、codediff(代码改动点)、执行用例、提bug、回归测试、确认测试、发布上线、Bug Review(总结问题);

(判定表的建立步骤:确定规则的个数;列出所有的条件桩和动作桩;填入条件项;填入动作项,得到初始判定表;简化合并相似规则(相同动作))

性能测试:包括:负载测试(指标变化)、压力测试(性能点)、强度测试、容量测试,基准测试、渗入测试、峰谷测试;

客户端、网络端、服务端

自动化测试:应用场景——需求变动不频繁/项目周期足够长/自动化测试脚本可重复使用/手动测试无法做;框架的搭建——接口自动化框架(结构、读取用例、发送请求、断言、日志、测试报告、发邮件、配置)、功能自动化框架(对页面各控件的API粉装、不同环境处理、xpath()定位方法、JS定位方法);平台工具——接口自动化集成到平台上、平台做测试环境、线上环境的监控、做公用统计线上badcase的统计;

回归测试:框架——模块化框架;函数库框架;关键字驱动测试框架;数据驱动测试框架;

回归测试:在程序有修改的情况下,保证原有功能正常的一种测试策略和方法,是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。

6.软件设计及测试工具的了解

LoadRunner :预测系统行为和性能的负载测试工具;

QuickTest Professional:用于创建功能和回归测试;

Quality Center:基于Web的测试管理工具,可以组织和管理应用程序测试流程的所有阶段,包括指定测试需求、计划测试、执行测试和跟踪缺陷;

7.测试覆盖率:

覆盖率是度量测试完整性的一个手段,是测试有效性的一个度量。测试覆盖是对测试完全程度的评测。测试覆盖是由测试需求和测试用例的覆盖或已执行代码的覆盖表示的。

1) 代码行覆盖率,可借助工具AQtime;

代码行覆盖率=(已执行测试代码行\总代码行)*100%

2)功能模块覆盖率;

3)数据库覆盖率;

4)需求覆盖率;

8.软件危机产生的原因及表现?软件缺陷管理?

软件危机产生的表现:软件成本日益增长、开发进度难以控制、软件质量差、软件维护困难;

原因:用户需求不明确、缺乏正确的理论指导、软件规模越来越大、软件复杂度越来越高;

软件缺陷管理:软件缺陷?缺陷报告包含的内容、缺陷的严重优先等级、缺陷的生命周期

9.软件体系结构建模(4+1视图模型)

场景视图:静态用例图,动态活动图、状态图、交互图;

逻辑视图:包含类、接口、协作,静态类图和对象图,动态活动、状态、交互图;

开发视图:软件的静态组织结构,静态组建图;

进程视图:侧重于系统的运行特性,关注非功能性的需求、性能、可用性,强调并发性、分布性、集成性、鲁棒性容错、可扩充性、吞吐量等。;

物理视图:主要描述硬件配置,静态部署图;

10.测试案例思路分析及步骤

(1)确定需求;

(2)测试:功能、可靠性、可维护性、兼容性、算法、竞品、安全性、性能测试;

(3)跟踪反馈;

注:APP测试要点——CPU、内存、流量、 电量、弱网、兼容性、FPS、中断、安装、稳定性(自动化框架方法封装实现)、冷热启动

11.其他

FMEA ( Failure Mode and Effects Analysis):失效模式与分析影响。它是一种可靠性设计的重要方法,对各种风险进行评价,分析,以便在现有技术的基础上消除这些风险或将风险减少到可以接受的水平;

EMC(电磁兼容)是对电子产品在电磁场方面干扰大小和抗干扰能力的综合评定,是产品质量最重要的指标之一,电磁兼容的测量有测试场地和测试仪器组成。EMC包括两部分,分别是EMI(干扰)和EMS(敏感度,抗干扰)。

调用一个DLL(动态链接库)有哪几种方式:一种是编程的时候,直接调用include库文件,编好的程序使用时为操作系统直接调用;第二种为编程的时候使用LoadLibrary,FreeLibrary,GetProcAddress来动态装载程序。则编好的程序使用库文件时,是程序自己主动载入。

桩模块:例如对函数A做单元测试时,被测的函数单元下还包括了一个函数B,为了更好的错误,定位错误,就要为函数B写桩,来模拟函数B的功能,保证其正确。

测试驱动开发

12.面试、笔试总结:常用的测试方法?了解使用的测试工具?性能测试及环境搭建

测试用例设计方法?自动化测试?

(1)软件测试:为了发现错误而执行程序的过程,根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。

(2)软件测试目的:(以最少的人力、物力、时间)找出软件产品中的错误和缺陷,使软件尽可能的符合用户的要求(回避商业风险)。

(3)软件测试阶段:单元(软件中的基本组成单位进行的测试,一个模块、过程)、集成(在软件系统集成过程中所进行的测试,主要目的是检查软件单位之间的接口是否正确)、确认、系统(对已经集成好的软件系统进行彻底的测试,正确性、性能)、验收测试(向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集);

(4)软件测试流程:需求分析 、制订测试计划 、设计测试用例与编写 、实施测试 、提交缺陷报告 、生成测试总结和报告;

(5)软件测试方法:

按被测试信息(是否查看程序内部结构)——白盒测试(逻辑驱动、程序内部结构测试,对源码进行测试,测试的主要内容包括词法分析与语法分析、静态错误分析、动态检测等)、黑盒测试(功能测试,测试证明每个实现了的功能是否符合要求)、灰盒测试;

按被测试软件系统是否运行——静态测试(评审文档、阅读代码等方式的测试软件)、动态测试(运行程序测试软件);

测试方法——手工测试、自动化测试(及脚本);

(6)测试用例设计方法:黑盒测试用例设计方法——等价类划分(有效、无效)、边界值分析,错误推测,因果图法,判定表驱动分析方法,正交实验设计方法,功能图分析方法,场景分析法;白盒测试常见的用例设计方法——代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径覆盖测试法、域测试、符号测试;接口测试——

(7)测试工具的运用及了解

C 0条回复 评论

帖子还没人回复快来抢沙发