测试基本知识

1、请你分别介绍一下单元测试、集成测试、系统测试、验收测试、回归测试:

(1)单元测试:完成最小的软件设计单元(模块)的验证工作,目标是确保模块被正确的编码,使用过程设计描述作为指南,对重要的控制路径进行测试以发现模块内的错误,通常情况下是白盒的,对代码风格和规则、程序设计和结构、业务逻辑等进行静态测试,及早的发现和解决不易显现的错误。

(2)集成测试:通过测试发现与模块接口有关的问题。目标是把通过了单元测试的模块拿来,构造一个在设计中所描述的程序结构,应当避免一次性的集成(除非软件规模很小),而采用增量集成。

自顶向下集成:模块集成的顺序是首先集成主模块,然后按照控制层次结构向下进行集成,隶属于主模块的模块按照深度优先或广度优先的方式集成到整个结构中去。

自底向上集成:从原子模块开始来进行构造和测试,因为模块是自底向上集成的,进行时要求所有隶属于某个给顶层次的模块总是存在的,也不再有使用稳定测试桩的必要。

(3)系统测试:是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。系统测试的对象不仅仅包括需要测试的产品系统的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。因此,必须将系统中的软件与各种依赖的资源结合起来,在系统实际运行环境下来进行测试。

(4)回归测试:回归测试是指在发生修改之后重新测试先前的测试用例以保证修改的正确性。理论上,软件产生新版本,都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本上再次出现。根据修复好了的缺陷再重新进行测试。回归测试的目的在于验证以前出现过但已经修复好的缺陷不再重新出现。一般指对某已知修正的缺陷再次围绕它原来出现时的步骤重新测试。

(5)验收测试:验收测试是指系统开发生命周期方法论的一个阶段,这时相关的用户或独立测试人员根据测试计划和结果对系统进行测试和接收。它让系统用户决定是否接收系统。它是一项确定产品是否能够满足合同或用户所规定需求的测试。验收测试包括测试和测试。

 测试:是由用户在开发者的场所来进行的,在一个受控的环境中进行。

 测试:由软件的最终用户在一个或多个用户场所来进行的,开发者通常不在现场,用户记录测试中遇到的问题并报告给开发者,开发者对系统进行最后的修改,并开始准备发布最终的软件。

2、请你回答一下单元测试、集成测试、系统测试、验收测试、回归测试这几步中最重要的是哪一步

这些测试步骤分别在软件开发的不同阶段对软件进行测试,我认为对软件完整功能进行测试的系统测试很重要,因为此时单元测试和集成测试已完成,能够对软件所有功能进行功能测试,能够覆盖系统所有联合的部件,是针对整个产品系统进行的测试,能够验证系统是否满足了需求规格的定义,因此我认为系统测试很重要。

3、请回答集成测试和系统测试的区别,以及它们的应用场景主要是什么?

区别:

(1)计划和用例编制的先后顺序:从V模型来讲,在需求阶段就要制定系统测试计划和用例,HLD的时候做集成测试计划和用例,有些公司的具体实践不一样,但是顺序肯定是先做系统测试计划用例,再做集成。

(2)用例的粒度:系统测试用例相对很接近用户接受测试用例,集成测试用例比系统测试用例更详细,而且对于接口部分要重点写,毕竟要集成各个模块或者子系统。

(3)执行测试的顺序:先执行集成测试,待集成测试出的问题修复之后,再做系统测试。

应用场景:

(1)集成测试:完成单元测试后,各模块联调测试;集中在各模块的接口是否一致、各模块间的数据流和控制流是否按照设计实现其功能、以及结果的正确性验证等等;可以是整个产品的集成测试,也可以是大模块的集成测试;集成测试主要是针对程序内部结构进行测试,特别是对程序之间的接口进行测试。集成测试对测试人员的编写脚本能力要求比较高。测试方法一般选用黑盒测试和白盒测试相结合。

(2)系统测试:针对整个产品的全面测试,既包含各模块的验证性测试(验证前两个阶段测试的正确性)和功能性(产品提交个用户的功能)测试,又包括对整个产品的健壮性、安全性、可维护性及各种性能参数的测试。系统测试测试软件《需求规格说明书》中提到的功能是否有遗漏,是否正确的实现。做系统测试要严格按照《需求规格说明书》,以它为标准。测试方法一般都使用黑盒测试法。

4、请说一说黑盒与白盒的测试方法

黑盒测试:

黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。

“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,因此不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。

常用的黑盒测试方法有:等价类划分法;边界值分析法;因果图法;场景法;正交实验设计法;判定表驱动分析法;错误推测法;功能图分析法。

白盒测试:

白盒测试也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。白盒测试法检查程序内部逻辑结构,对所有的逻辑路径进行测试,是一种穷举路径的测试方法,但即使每条路径都测试过了,但仍然有可能存在错误。因为:穷举路径测试无法检查出程序本身是否违反了设计规范,即程序是否是一个错误的程序;穷举路径测试不可能检查出程序因为遗漏路径而出错;穷举路径测试发现不了一些与数据相关的错误。

白盒测试需要遵循的原则有:

(1)保证一个模块中的所有独立路径至少被测试一次;

(2)所有逻辑值均需要测试真(true)和假(false);两种情况;

(3)检查程序的内部数据结构,保证其结构的有效性;

(4)在上下边界及可操作范围内运行所有循环。

常用白盒测试方法:

静态测试:不用运行程序的测试,包括代码检查、静态结构分析、代码质量度量、文档测试等等,它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具(Fxcop)自动进行。

动态测试:需要执行代码,通过运行程序找到问题,包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等。

白盒测试中的逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化:

(1)语句覆盖每条语句至少执行一次。

(2)判定覆盖每个判定的每个分支至少执行一次。

(3)条件覆盖每个判定的每个条件应取到各种可能的值。

(4)判定/条件覆盖同时满足判定覆盖条件覆盖。

(5)条件组合覆盖每个判定中各条件的每一种组合至少出现一次。

(6)路径覆盖使程序中每一条可能的路径至少执行一次。

5、请说一下手动测试与自动化测试的优缺点

手工测试缺点:

(1)重复的手工回归测试,代价昂贵、容易出错。

(2)依赖于软件测试人员的能力。

手工测试优点:

(1)测试人员具有经验和对错误的猜测能力。

(2)测试人员具有审美能力和心理体验。

(3)测试人员具有是非判断和逻辑推理能力。

自动化测试的优点:

(1)对程序的回归测试更方便。这可能是自动化测试最主要的任务,特别是在程序修改比较频繁时,效果是非常明显的。由于回归测试的动作和用例是完全设计好的,测试期望的结果也是完全可以预料的,将回归测试自动运行,可以极大提高测试效率,缩短回归测试时间。

(2)可以运行更多更繁琐的测试。自动化的一个明显的好处是可以在较少的时间内运行更多的测试。

(3)可以执行一些手工测试困难或不可能进行的测试。比如,对于大量用户的测试,不可能同时让足够多的测试人员同时进行测试,但是却可以通过自动化测试模拟同时有许多用户,从而达到测试的目的。

(4)更好地利用资源。将繁琐的任务自动化,可以提高准确性和测试人员的积极性,将测试技术人员解脱出来投入更多精力设计更好的测试用例。有些测试不适合于自动测试,仅适合于手工测试,将可自动测试的测试自动化后,可以让测试人员专注于手工测试部分,提高手工测试的效率。

(5)测试具有一致性和可重复性。由于测试是自动执行的,每次测试的结果和执行的内容的一致性是可以得到保障的,从而达到测试的可重复的效果。

(6)测试的复用性。由于自动测试通常采用脚本技术,这样就有可能只需要做少量的甚至不做修改,实现在不同的测试过程中使用相同的用例。

(7)增加软件信任度。由于测试是自动执行的,所以不存在执行过程中的疏忽和错误,完全取决于测试的设计质量。一旦软件通过了强有力的自动测试后,软件的信任度自然会增加。

自动化测试的缺点:

(1)不能取代手工测试

(2)手工测试比自动测试发现的缺陷更多

(3)对测试质量的依赖性极大

(4)测试自动化不能提高有效性

(5)测试自动化可能会制约软件开发。由于自动测试比手动测试更脆弱,所以维护会受到限制,从而制约软件的开发。

(6)工具本身并无想像力

6、你觉得自动化测试有什么意义,都需要做些什么

自动化测试的意义在于

(1)可以对程序的新版本自动执行回归测试

(2)可以执行手工测试困难或者不可能实现的测试,如压力测试,并发测试,

(3)能够更好的利用资源,节省时间和人力

执行自动化测试之前首先判断这个项目是不是和推广自动化测试,然后对项目做需求分析,指定测试计划,搭建自动化测试框架,设计测试用例,执行测试,评估

7、请你回答一下测试的相关流程是什么?

测试最规范的过程如下

需求测试->概要设计测试->详细设计测试->单元测试->集成测试->系统测试->验收测试

8、请你说一下如何写测试用例

(1)测试人员尽早介入,彻底理解清楚需求,这个是写好测试用例的基础

(2)如果以前有类似的需求,可以参考类似需求的测试用例,然后还需要看类似需求的bug情况

(3)清楚输入、输出的各种可能性,以及各种输入的之间的关联关系,理解清楚需求的执行逻辑,通过等价类、边界值、判定表等方法找出大部分用例

(4)找到需求相关的一些特性,补充测试用例

(5)根据自己的经验分析遗漏的测试场景

(6)多总结类似功能点的测试点,才能够写出质量越来越高的测试用例

(7)书写格式一定要清晰

9、请问你觉得测试项目具体工作是什么?

搭建测试环境——撰写测试用例——执行测试用例——写测试计划,测试报告——测试,并提交BUG表单——跟踪bug修改情况——执行自动化测试,编写脚本,执行,分析,报告——进行性能测试,压力测试等其他测试,执行,分析,调优,报告

10、请你说一说测试用例的边界

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

常见的边界值:

(1)对16-bit 的整数而言 32767 和 -32768 是边界

(2)屏幕上光标在最左上、最右下位置

(3)报表的第一行和最后一行

(4)数组元素的第一个和最后一个

(5)循环的第 0 次、第 1 次和倒数第 2 次、最后一次

11、请你说一下软件质量的六个特征

按照软件质量国家标准GB-T8566--2001G,软件质量可以用下列特征来评价:

(1)功能特征:与一组功能及其指定性质有关的一组属性,这里的功能是满足明确或隐含的需求的那些功能。

(2)可靠特征:在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。

(3)易用特征:由一组规定或潜在的用户为使用软件所需作的努力和所作的评价有关的一组属性。

(4)效率特征:与在规定条件下软件的性能水平与所使用资源量之间关系有关的一组属性。

(5)可维护特征:与进行指定的修改所需的努力有关的一组属性。

(6)可移植特征:与软件从一个环境转移到另一个环境的能力有关的一组属性。

12、请你说一下设计测试用例的方法

黑盒测试:

(1)等价类划分

等价类划分是将系统的输入域划分为若干部分,然后从每个部分选取少量代表性数据进行测试。等价类可以划分为有效等价类和无效等价类,设计测试用例的时候要考虑这两种等价类。

(2)边界值分析法

边界值分析法是对等价类划分的一种补充,因为大多数错误都在输入输出的边界上。边界值分析就是假定大多数错误出现在输入条件的边界上,如果边界附件取值不会导致程序出错,那么其他取值出错的可能性也就很小。

边界值分析法是通过优先选择不同等价类间的边界值覆盖有效等价类和无效等价类来更有效的进行测试,因此该方法要和等价类划分法结合使用。

(3)正交试验法

正交是从大量的试验点中挑选出适量的、有代表性的点。正交试验设计是研究多因素多水平的一种设计方法,他是一种基于正交表的高效率、快速、经济的试验设计方法。

(4)状态迁移法

状态迁移法是对一个状态在给定的条件内能够产生需要的状态变化,有没有出现不可达的状态和非法的状态,状态迁移法是设计足够的用例达到对系统状态的覆盖、状态、条件组合、状态迁移路径的覆盖。

(5)流程分析法

流程分析法主要针对测试场景类型属于流程测试场景的测试项下的测试子项进行设计,这是从白盒测试中路径覆盖分析法借鉴过来的一种很重要的方法。

(6)输入域测试法

输入域测试法是针对输入会有各种各样的输入值的一个测试,他主要考虑 极端测试、中间范围测试,特殊值测试 。

(7)输出域分析法

输出域分析法是对输出域进行等价类和边界值分析,确定是要覆盖的输出域样点,反推得到应该输入的输入值,从而构造出测试用例,他的目的是为了达到输出域的等价类和边界值覆盖。

(8)判定表分析法

判定表是分析和表达多种输入条件下系统执行不同动作的工具,他可以把复杂的逻辑关系和多种条件组合的情况表达的即具体又明确;

(9)因果图法

因果图是用于描述系统输入输出之间的因果关系、约束关系。因果图的绘制过程是对被测系统的外部特征的建模过程,根据输入输出间的因果图可以得到判定表,从而规划出测试用例。

(10)错误猜测法

错误猜测法主要是针对系统对于错误操作时对于操作的处理法的猜测法,从而设计测试用例

(11)异常分析法

异常分析法是针对系统有可能存在的异常操作,软硬件缺陷引起的故障进行分析,分析发生错误时系统对于错误的处理能力和恢复能力依此设计测试用例。

白盒测试:

白盒测试也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。白盒测试法检查程序内部逻辑结构,对所有的逻辑路径进行测试,是一种穷举路径的测试方法,但即使每条路径都测试过了,但仍然有可能存在错误。因为:穷举路径测试无法检查出程序本身是否违反了设计规范,即程序是否是一个错误的程序;穷举路径测试不可能检查出程序因为遗漏路径而出错;穷举路径测试发现不了一些与数据相关的错误。

白盒测试需要遵循的原则有:

(1)保证一个模块中的所有独立路径至少被测试一次;

(2)所有逻辑值均需要测试真(true)和假(false);两种情况;

(3)检查程序的内部数据结构,保证其结构的有效性;

(4)在上下边界及可操作范围内运行所有循环。

常用白盒测试方法:

静态测试:不用运行程序的测试,包括代码检查、静态结构分析、代码质量度量、文档测试等等,它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具(Fxcop)自动进行。

动态测试:需要执行代码,通过运行程序找到问题,包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等。

白盒测试中的逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化:

(1)语句覆盖每条语句至少执行一次。

(2)判定覆盖每个判定的每个分支至少执行一次。

(3)条件覆盖每个判定的每个条件应取到各种可能的值。

(4)判定/条件覆盖同时满足判定覆盖条件覆盖。

(5)条件组合覆盖每个判定中各条件的每一种组合至少出现一次。

(6)路径覆盖使程序中每一条可能的路径至少执行一次。

13、请你说一下app性能测试的指标

(1)内存:内存消耗测试节点的设计目标是为了让应用不占用过多的系统资源,且及时释放内存,保障整个系统的稳定性。当然关于内存测试,在这里我们需要引入几个概念:空闲状态、中等规格、满规格。

空闲状态指打开应用后,点击home键让应用后台运行,此时应用处于的状态叫做空闲;中等规格和满规格指的是对应用的操作时间的间隔长短不一,中等规格时间较长,满规格时间较短。

内存测试中存在很多测试子项,清单如下:

l  空闲状态下的应用内存消耗;

l  中等规格状态下的应用内存消耗;

l  满规格状态下的应用内存消耗;

l  应用内存峰值;

l  应用内存泄露;

l  应用是否常驻内存;

l  压力测试后的内存使用。

(2)CPU:

使用Android提供的view plaincopy在CODE上查看代码片派生到我的代码片

adbshell dumpsys CPUinfo |grep packagename >/address/CPU.txt来获取;

使用top命令view plaincopy在CODE上查看代码片派生到我的代码片

adbshell top |grep packagename>/address/CPU.txt来获取。

(3)流量:

网络流量测试是针对大部分应用而言的,可能还有部分应用会关注网速、弱网之类的测试。

流量测试包括以下测试项:

l  应用首次启动流量提示;

l  应用后台连续运行2小时的流量值;

l  应用高负荷运行的流量峰值。

(4)电量:

l  测试手机安装目标APK前后待机功耗无明显差异;

l  常见使用场景中能够正常进入待机,待机电流在正常范围内;

l  长时间连续使用应用无异常耗电现象。

(5)启动速度:

l  第一类:首次启动--应用首次启动所花费的时间;

l  第二类:非首次启动--应用非首次启动所花费的时间;

l  第三类:应用界面切换--应用界面内切换所花费的时间。

(6)滑动速度、界面切换速度

(7)与服务器交互的网络速度

14、请你说一说bug的周期,以及描述一下不同类别的bug

(1)New:(新的)

当某个“bug”被第一次发现的时候,测试人员需要与项目负责人沟通以确认发现的的确是一个bug,如果被确认是一个bug,就将其记录下来,并将bug的状态设为New。

(2)Assigned(已指派的)

当一个bug被指认为New之后,将其反馈给开发人员,开发人员将确认这是否是一个bug,如果是,开发组的负责人就将这个bug指定给某位开发人员处理,并将bug的状态设定为“Assigned”。

(3)Open(打开的)

一旦开发人员开始处理bug的时候,他(她)就将这个bug的状态设置为“Open”,这表示开发人员正在处理这个“bug”。

(4)Fixed(已修复的)

当开发人员进行处理(并认为已经解决)之后,他就可以将这个bug的状态设置为“Fixed”并将其提交给开发组的负责人,然后开发组的负责人将这个bug返还给测试组。

(5)Pending Reset(待在测试的)

当bug被返还到测试组后,我们将bug的状态设置为Pending Reset。

(6)Reset(再测试)

测试组的负责人将bug指定给某位测试人员进行再测试,并将bug的状态设置为“Reset”。

(7)Closed(已关闭的)

如果测试人员经过再次测试之后确认bug 已经被解决之后,就将bug的状态设置为“Closed”。

(8)Reopen(再次打开的)

如果经过再次测试发现bug(指bug本身而不是包括因修复而引发的新bug)仍然存在的话,测试人员将bug再次传递给开发组,并将bug的状态设置为“Reopen”

(9)Pending Reject(拒绝中)

如果测试人员传递到开发组的bug被开发人员认为是正常行为而不是bug时,这种情况下开发人员可以拒绝,并将bug的状态设置为“Pending Reject”

(10)Rejected(被拒绝的)

测试组的负责人接到上述bug的时候,如果他(她)发现这是产品说明书中定义的正常行为或者经过与开发人员的讨论之后认为这并不能算作bug的时候,开发组负责人就将这个bug的状态设置为“Rejected”。

(11)Postponed(延期)

有些时候,对于一些特殊的bug的测试需要搁置一段时间,事实上有很多原因可能导致这种情况的发生,比如无效的测试数据,一些特殊的无效的功能等等,在这种情况下,bug的状态就被设置为“Postponed”。

不同类别的bug:

l  Bug类型

l  代码错误

l  界面优化

l  设计缺陷

l  配置相关

l  安装部署

l  安全相关

l  性能问题

l  标准规范

l  测试脚本

l  其他

15、请你说一说web测试和app测试的不同点

(1)系统架构方面:

l  web项目,一般都是b/s架构,基于浏览器的

l  app项目,则是c/s的,必须要有客户端,用户需要安装客户端。

web测试只要更新了服务器端,客户端就会同步会更新。App项目则需要客户端和服务器都更新。

(2)性能方面:

l  web页面主要会关注响应时间

l  而app则还需要关心流量、电量、CPU、GPU、Memory这些。

l  它们服务端的性能没区别,都是一台服务器。

(3)兼容方面:

l  web是基于浏览器的,所以更倾向于浏览器和电脑硬件,电脑系统的方向的兼容

l  app测试则要看分辨率,屏幕尺寸,还要看设备系统。

l  web测试是基于浏览器的所以不必考虑安装卸载。

l  而app是客户端的,则必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑到异常场景。包括安装时的中断、弱网、安装后删除安装文件 。

l  此外APP还有一些专项测试:如网络、适配性。

16、请问你了解什么测试方法

等价类划分,边界值分析,错误推测,因果图法,逻辑覆盖法,程序插桩技术,基本路径法,符号测试,错误驱动测试

17、请问黑盒测试和白盒测试有哪些方法

l  黑盒测试方法有等价类划分,边界值分析,错误推测,因果图法

l  白盒测试方法有逻辑覆盖法,程序插桩技术,基本路径法,符号测试,错误驱动测试

18、请问你怎么看待测试,知道哪些测试的类型,有用过哪些测试方法?

l  测试是软件开发中不可或缺的一环,测试通过经济,高效的方法,捕捉软件中的错误,从而达到保重软件内在质量的目的。

l  测试分为功能测试和非功能测试,非功能测试又可以分为性能测试、压力测试、容量测试、健壮性测试、安全性测试、可靠性测试、恢复性测试、备份测试、协议测试、兼容性测试、可用性测试、配置测试、GUI测试。

l  测试方法用过等价划分法、边值分析法、错误推测法、因果图法。

19、请问你怎么测试网络协议

协议测试包括四种类型的测试

(1)一致性测试:检测协议实现本身与协议规范的符合程度

(2)、互操作性测试:基于某一协议检测不同协议实现间互操作互通信的能力

(3)性能测试:检测协议实现的性能指标,比如数据传输速度,连接时间,执行速度,吞吐量,并发度,

(4)健壮性测试:检测协议是现在各种恶劣环境下运行的能力,比如注入干扰报文,通信故障,信道被切断

20、请你说一说简单用户界面登陆过程都需要做哪些分析

(1)功能测试

l  输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。

l  输入错误的用户名或者密码,验证登录会失败,并且提示相应的错误信息。

l  登录成功后能否能否跳转到正确的页面

l  用户名和密码,如果太短或者太长,应该怎么处理

l  用户名和密码,中有特殊字符(比如空格),和其他非英文的情况

l  记住用户名的功能

l  登陆失败后,不能记录密码的功能

l  用户名和密码前后有空格的处理

l  密码是否非明文显示显示,使用星号圆点等符号代替。

l  牵扯到验证码的,还要考虑文字是否扭曲过度导致辨认难度大,考虑颜色(色盲使 用者),刷新或换一个按钮是否好用

l  登录页面中的注册、忘记密码,登出用另一帐号登陆等链接是否正确

l  输入密码的时候,大写键盘开启的时候要有提示信息。

l  什么都不输入,点击提交按钮,检查提示信息。

(2)界面测试

l  布局是否合理,testbox和按钮是否整齐。

l  testbox和按钮的长度,高度是否复合要求。

l  界面的设计风格是否与UI的设计风格统一。

l  界面中的文字简洁易懂,没有错别字。

(3)性能测试

l  打开登录页面,需要的时间是否在需求要求的时间内。

l  输入正确的用户名和密码后,检查登录成功跳转到新页面的时间是否在需求要求的时间内。

l  模拟大量用户同时登陆,检查一定压力下能否正常登陆跳转。

(4)安全性测试

l  登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取)。

l  用户名和密码是否通过加密的方式,发送给Web服务器。

l  用户名和密码的验证,应该是用服务器端验证, 而不能单单是在客户端用javascript 验证。

l  用户名和密码的输入框,应该屏蔽SQL注入攻击。

l  用户名和密码的的输入框,应该禁止输入脚本 (防止XSS攻击)。

l  防止暴力破解,检测是否有错误登陆的次数限制。

l  是否支持多用户在同一机器上登录。

l  同一用户能否在多台机器上登录。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/125198.html

相关文章

  • 软件测试工程师一分钟自我介绍?

    摘要:下面介绍软件测试面试从自我介绍开始到你还有什么想问的结束,中间的一系列常规环节。第九类问题,测试工具,包括三个大的类型,第一类是性能测试工具自动化测试工具测试管理类工具。 下面介绍软件测试面试从自我介绍开始到你还有什么想问的结束,中间的一系列常规环节。 自我介绍(心理学首因效应告诉我们第一印...

    pkhope 评论0 收藏0
  • 软件测试常考面试题-软件测试面试宝典【最新】

    摘要:功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。软件的黑盒测试意味着测试要在软件的接口处进行。因此白盒测试又称为结构测试或逻辑驱动测试。集成测试也叫组装测试,联合测试是单元测试的逻辑扩展。 ...

    dmlllll 评论0 收藏0
  • 转岗测试工作三年经验总结(前端开发转测试

    摘要:时光飞逝,岁月如梭,我从前端开发岗位转入测试岗位已经三年了,这期间从迷茫到熟悉,到强化,到熟练,到总结,感受还是很深的三年前的某一个晚上,我正准备下班回家,我们的项目经理把我叫到办公司和我谈话,谈了很多,具体说什么不记得 ...

    nemo 评论0 收藏0
  • 程序人生:软件测试工程师,如何从手工测试转成自动化测试?这可能是每个测试要走的路...

    摘要:而现实是,很多团队在实施自动化测试的过程中,并未取得良好的质量效果,这主要是因为学习自动化测试有两大难点自动化测试本身拥有一定的技术门槛最大的难点是需要大量的实战经验。 ...

    Reducto 评论0 收藏0
  • 阿里、网易、腾讯、深信服等互联网公司C++工程师面试经历

    摘要:楼主菜鸡一只,是真的菜,本硕机械,找工作时转的软件开发,学的很浅,面试根本经不起深挖,研一荒废了半年,春节之后才意识到要开始找工作,然后就开始疯狂的学习数据结构算法,计网,啥的,学的很水,前后投了多家,最终就拿了个小厂的,大厂真的一个都没过 楼主菜鸡一只,是真的菜,本硕机械,找工作时转的软件开发,学的很浅,面试根本经不起深挖,研一荒废了半年,春节之后才意识到要开始找工作,然后就开始疯狂...

    lmxdawn 评论0 收藏0
  • 你知道这5年我怎么过的吗!谈谈我做测试开发的这些年……【总结】

    摘要:而且,据说他的大女儿和小女儿都是做测试的,这是名副其实的测试世家。确定测试需求相应的测试方法获得测试策略方案。负责这一领域测试质量保证开发内的整个开发生存周期业务。 ...

    silenceboy 评论0 收藏0

发表评论

0条评论