软通动力面试笔答
1白箱测试和黑箱测试是什么?什么是回归测试?黑盒测试
黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
黑盒测试方法主要有等价类划分、边值分析、因果图、错误推测等,主要用于软件确认测试。“黑盒” 测试法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”测试法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。
白盒测试
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能。白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。“白盒”测试法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。
2单元测试、集成测试、系统测试的侧重点是什么?
单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试,测试重点是系统的模块,包括子程序的正确性验证等。
集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。测试重点是模块间的衔接以及参数的传递等。
系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。测试重点是整个系统的运行以及与其他软件的兼容性。
3设计用例的方法、依据有那些?
测试用例是一个包含输入和预期输出的与程序行为有关的标识。软件测试的本质就是针对要测试的内容确定一组测试用例。测试用例是由测试中经过的一系列状态和在每个状态中必须依靠输入、输出数据满足的一对条件组成的。1. 准确性2. 简洁性3. 可重用性4. 适用性5. 可跟踪性6. 纯洁性测试用例的编写有三种主要格式:Step-by-step (一步一步地,逐步地)Matrix(矩阵表) Automated script(自动化脚本)
1用例编号10用例类别2用例名称11用例状态3测试目的12用例设计人4输入数据13创建时间5测试步骤14用例评审人6测试脚本15评审时间7预期结果16评审结果8响应时间17执行结果9实际输出18相关模块
前两种是测试用例最基本的格式,最后一种是自动执行前两种测试用例的软件脚本。测试用例设计方法1. 白盒测试方法—语句覆盖、分支覆盖、条件覆盖2. 黑盒测试方法--等价类划分方法、边界值分析方法、错误推测方法、因果图方法、判定表驱动分析方法、功能图分析方法(流程场景(重要执行道路、出错处理道路))测试用例示例:1. 测试用例标识2. 测试步骤3. 输入4. 输出5. 环境要求---硬件、软件、其他.测试用例的关键:1. 白盒测试:以较少的用例覆盖尽可能多的内部程序逻辑结果2. 黑盒测试:以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的测试用例来完成测试。
4一个测试工程师应具备那些素质和技能?
技术素质要求软件开发技术软件测试技术软件工程方面的能力行业知识 非技术素质要求沟通能力移情能力自信心幽默感外交能力超强的记忆力足够的耐心怀疑精神自我督促洞擦力 技能:计算机专业知识:测试专业技能、软件编程技能、网络、操作系统、数据库、中间件等知识行业知识个人素养
5.集成测试通常都有那些策略?
1、在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;
2、各个子功能组合起来,能否达到预期要求的父功能;
3、一个模块的功能是否会对另一个模块的功能产生不利的影响;
4、全局数据结构是否有问题;
5、单个模块的误差积累起来,是否会放大,从而达到不可接受的程度。
2、各个子功能组合起来,能否达到预期要求的父功能;
3、一个模块的功能是否会对另一个模块的功能产生不利的影响;
4、全局数据结构是否有问题;
5、单个模块的误差积累起来,是否会放大,从而达到不可接受的程度。
7一个缺陷测试报告的组成?
缺陷的标题,缺陷的基本信息,复现缺陷的操作步骤,缺陷的实际结果描述,期望的正确结果描述,注释文字和截取的缺陷图象。
缺陷的标题;
缺陷的基本信息;
测试的软件和硬件环境;
测试的软件版本;
缺陷的类型;
缺陷的严重程度;
缺陷的处理优先级。
复现缺陷的操作步骤;
缺陷的实际结果描述;
期望的正确结果描述;
注释文字和截取的缺陷图像。
8基于WEB信息管理系统测试时应考虑的因素有哪些?
一、功能测试
1、链接测试
2、表单测试
3、Cookies 测试
4、设计语言测试
5、数据库测试
二、性能测试
1、连接速度测试
2、负载测试
3、压力测试
三、可用性测试
1、导航测试
2、图形测试
3、内容测试
4、整体界面测试
四、客户端兼容性测试
1、平台测试
2、浏览器测试
五、安全性测试
9软件本地化测试比功能测试都有哪些方面需要注意?
软件本地化测试的目的:
软件本地化测试的测试策略:
1.本地化软件要在各种本地化操作系统上安装并测试。
2.源语言软件安装在另一台相同源语言操作系统上,作为对比测试。
3.重点测试因本地化引起的软件的功能和软件界面的错误。
4.测试本地化软件的翻译质量
5.手工测试和自动测试相结合。
10.软件测试项目从什么时候开始,?为什么?
软件测试应该在需求分析阶段就介入,因为测试的对象不仅仅是程序编码,应该对软件开发过程中产生的所有产品都测试,并且软件缺陷存在放大趋势.缺陷发现的越晚,修复它所花费的成本就越大.