软件测试岗位需求
2010-02-04 18:57:00 skytalemcc 阅读数 188

ATM测试程序设计方案

1.      设计目的

该程序为培训提供演练测试方法的平台。

2.      环境要求

Windows 2000  server 操作系统。

3.      功能介绍

ATM系统主要是为了讲述测试为实现的一个模拟系统,系统模拟实现ATM机的基本功能,包含有六个功能:用户登陆、修改密码、查询余额、提款、存款、系统数据维护。首先实现该系统,然后对每个功能模块进行黑盒和白盒测试。

 

预先约定的利息计算方法举例:

            时间范围

          利率(月利率)

200211日之前

           1%

200211日—200311日前

           2%

200311日—2003815日前

           3%

2003815日—今

           2%

 

(从存款当日到下个月当日,为一个月,若月数不足则按照已有足月计算,如5个月零18天按照5个月计算)

²        当在199511开户存入1000元,在2004118查询,(经过了4次利息变化)那么账户余额为=1000×(7×12×1%+12×2%+8×3%+14×2%+1000

²        当在199511开户存入1000元,在200271存入500元时,查询的余额=1000×(7×12×1%+6×2%+1000=1960元;(我们约定存取款操作一次以后,将户头的存储开始时间定为最新一次时间,这里户头计算开始时间变为200271)那么在2004118查询户头的余额为=1960×(5×2%+8×3%+14×2%+1960

²        取款算法同上。

 

l         用户登陆:验证用户身份的合法性

前提条件:

    启动ATM模拟程序。

功能描述:

登陆模块是整个系统的开始模块,主要功能是验证用户,该模块会要求用户输入卡号和密码,然后系统会从数据库中读取数据验证用户是否为合法用户。如果是合法用户则进入下一模块,如果不是则提示用户不存在或者密码错误的信息,要求用户重新输入卡号和密码。如果三次输入密码错误,那么系统自动退出。当用户初次登陆时,系统会有一个初始密码,为:1111。下次登陆时,如果用户修改了密码,登陆密码为用户修改后的密码。

 

l         密码修改:用户修改个人账户的密码

前提条件:

用合法用户登陆到系统

功能描述:

修改密码模块提供密码修改功能,会要求用户输入修改密码和确认密码,如果两次输入的密码相等则提示修改成功。如果不等则要要求用户重新输入。如果密码修改成功后,下次用户需用用新密码进入ATM 系统。密码的长度必须为4位。

 

l         查询余额

前提条件:

1.  用合法用户登陆到系统

2.  选择查询余额功能

功能描述:

屏幕显示该用户的账户余额以及目前可以提取的最大金额。余额不可能为负数,可以提取的最大金额为当天可提取的最大金额(5000元),如果用户账户余额不足5000元,则显示当天可提取最大金额为系统账户余额的整数倍(该整数倍要求是50的倍数)。同时用户可以查询系统根据利息算法计算的总利息等账面其他附属信息。(利息计算为分段计算,即通过不同时间段的利率计算,最后的总利息为各段利息的总和)

 

l         提款业务:用户提取符合ATM取款要求的指定金额的个人账户现金。

1.  合法用户登陆到系统

2.  选择提取现金功能

功能描述:

    该模块提供给用户提取现金功能,进入该模块会要求用户输入需要提取的金额。用户输入提取的金额必须满足以下条件:

1.  用户输入的金额不能超过用户账户的余额。

2.  用户单次提取的金额不能超过额定金额(2000元)。

3.  用户当天提取的金额不能超过额定金额(5000元)。

4.  用户每次提取的金额必须大于0且是50的倍数。

5.  用户当日取款次数不可以超过5次。

    当用户按条件正确输入金额数时,系统会按照用户指定金额提取账户余额,并在用户账户中减去提取的金额。否则,如果用户未按条件输入,系统会提示用户重新输入正确金额。

 

l         存款业务:

前提条件:

1.  合法用户登陆到系统

2.  选择存功能

功能描述:

    该模块提供给用户存入现金功能,进入该模块会要求用户输入需要存入货币的金额。用户输入的金额必须不能超过额定金额(10000元),且用户输入金额应该为50的倍数。当用户按条件正确输入金额时,系统会按照用户的输入用户账户中加上该金额。如果用户未按条件输入,系统会提示用户重新输入正确金额。

 

用户账号数据维护:

前提条件:

1.       合法用户登陆系统(一般用户不允许登录,有特定权限的用户才允许登录)

2.       选择数据维护进入到账号维护界面;

功能描述:

                     用户可以向系统添加新的用户信息,为用户添加名字,密码等各类信息,同时用户也可对已经存在用户账号信息进行修改。

 

用户账号内账目信息的维护

前提条件:

1.       合法用户登陆系统

2.       选择数据维护进入到账目信息维护界面;

功能描述:

用户对已经存在的账户存取信息进行修改,可以更改项包括日期,存入/支出,金额,余额等

 

利息数据

日期,利息)

前提条件:

1.       合法用户登陆系统

2.       选择数据维护进入到利息数据界面;

功能描述:

用户可以根据需要自定义利率大小,时间范围等等。

总利息=各时间段利息的总和(利息=开始存款总额×存款时间×利率)

 

2017-06-14 15:40:29 cc297322716 阅读数 2684

1、做绩效管理的一些准则

1.1、定义好岗位等级职责
不同等级应该做些什么事情,具备什么技能;
1.2、定义绩效指标
要有客观的一些评分指标,也要有主观的一些评判;岗位级别越高,涉及管理、沟通等一些技能时候,主观评判会增多些。
1.3、奖惩制度
(1)可以增对一些评分绩效,进行专门的奖惩
(2)绩效高出一定比例,可以得到奖金,低于一定比例,可以罚金等

2、绩效指标

2.1、工作质量
(1)上线BUG数:可以按严重程度打分
(2)有效BUG率:可以按严重程度分别统计

2.2、任务完成率
2.3、工作效率
登记任务完成总时间,需要评审该任务是否超期,什么原因等。评判其应该需要多久,实际多久,进行对比后,打分
2.4、文档编写能力
2.5、工作总结汇报能力
2.6、学习能力
对于新工具、新技术的学习效率、完成度等分析评判
2.7、沟通能力
2.8、开展分享培训次数
2.9、团队贡献
比如研究出一个工具投入工作,分享提高效率的方法。根据贡献度大小,进行打分。


2018-09-13 21:03:26 qq_34446162 阅读数 815

1.什么是软件测试?
软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
2.软件测试的目的?
测试的目的是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患带来的商业风险
3.什么是需求文档测试
主要测试需求中是否存在逻辑矛盾以及需求在技术上是否可以实现
4.什么是设计文档测试?
测试设计是否符合全部需求以及设计是否合理。
5.什么是α测试
Alpha测试(α测试)是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。Alpha测试发现的错误,可以在测试现场立刻反馈给开发人员,由开发人员及时分析和处理。目的是评价软件产品的功能、可使用性、可靠性、性能和支持。尤其注重产品的界面和特色。Alpha测试可以从软件产品编码结束之后开始,或在模块(子系统)测试完成后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。有关的手册(草稿)等应该在Alpha测试前准备好。
6.什么是β测试?
Beta测试(β测试)是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。因而,Beta测试是在开发者无法控制的环境下进行的软件现场应用。在Beta测试中,由用户记下遇到的所有问题,包括真实的以及主管认定的,定期向开发者报告,开发者在综合用户的报告后,做出修改,最后将软件产品交付给全体用户使用。Beta测试着重于产品的支持性,包括文档、客户培训和支持产品的生产能力。只有当Alpha测试达到一定的可靠程度后,才能开始Beta测试。由于Beta测试的主要目标是测试可支持性,所以Beta测试应该尽可能由主持产品发行的人员来管理。
7.什么是驱动模块?
驱动模块在大多数场合称为”主程序”,它接收测试数据并将这些数据传递到被测试模块.单元测试一个函数单元时,被测单元本身是不能独立运行的,需要为其传送数据,为此写驱动
驱动模块主要完成以下事情:
1、接受测试输入;
2、对输入进行判断;
3、将输入传给被测单元,驱动被测单元执行;
4、接受被测单元执行结果,并对结果进行判断;
5、将判断结果作为用例执行结果输出测试报告。
8.什么是桩模块?
比如对函数A做单元测试时,被测的函数单元下还包括了一个函数B,为了更好的错误,定位错误,就要为函数B写桩,来模拟函数B的功能,保证其正确。
9.什么是白盒测试?
白盒测试(White-box Testing,又称逻辑驱动测试,结构测试),它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。
对开发语言的支持:白盒测试工具是对源代码进行的测试,测试的主要内容包括词法分析与语法分析、静态错误分析、动态检测等。目前测试工具主要支持的开发语言包括:标准C、C++、Visual C++、Java、Visual J++等。
10.什么是静态测试?
通过运行程序测试软件称为动态测试.通过评审文档、阅读代码等方式测试软件称为静态测试,在动态测试中,通常使用白盒测试和黑盒测试从不同的角度设计测试用例,查找软件代码中的错误.
静态测试方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。静态方法通过程序静态特性的分析,找出欠缺和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。静态测试结果可用于进一步的查错,并为测试用例选取提供指导。
11.什么是回归测试?
回归测试的目的是在程序有修改的情况下,保证原有功能正常的一种测试策略和方法。
说白了就是,我们测试人员在对程序进行测试时发现bug,然后返还程序员修改,程序员修改后发布新的软件包或新的软件补丁包给我们测试人员,我们就要重新对这个程序测试,已保证程序在修正了以前bug的情况下,正常运行,且不会带来新的错误的这样一个过程。 一般情况下是不需要全面测试的,而是根据修改的情况进行有效的测试。
12.白盒测试有哪几种方法?
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。
13.软件的缺陷等级应如何划分?
软件缺陷的等级可以用严重性和优先级来描述;
严重性:衡量缺陷对客户满意度影响的满意程度,分为
1,致命错误,可能导致本模块以及其他相关的模块异常,死机等问题;
2.严重错误,问题局限在本模块,导致模块功能失常或异常退出;
3.一般错误,模块功能部分失效;
4.建议模块,有问题提出人对测试模块的改进建议;
优先级:缺陷被修复的紧急程度;
1.立即解决(P1级):缺陷导致系统功能几乎不能使用或者测试不能继续,需立即修复;
2.高优先级(P2级):缺陷严重,影响测试,需优先考虑;
3.正常排队(P3级):缺陷需要正常排队等待修复;
4.低优先级(P4级):缺陷可以在有时间的时候被纠正;
14.如果能够执行完美的黑盒测试,还需要进行白盒测试吗?(白盒与黑盒的区别)
任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试。
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。 白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
1、是否有不正确或遗漏的功能?
2、在接口上,输入是否能正确的接受?能否输出正确的结果?
3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
4、性能上是否能够满足要求?
5、是否有初始化或终止性错误?
软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:
1、对程序模块的所有独立的执行路径至少测试一遍。
2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3、在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性,等等。
以上事实说明,软件测试有一个致命的缺陷,即测试的不完全、不彻底性。由于任何程序只能进行少量(相对于穷举的巨大数量而言)的有限的测试,在未发现错误时,不能说明程序中没有错误。
15.软件测试应该划分几个阶段?简述各个阶段应重点测试的点?各个阶段的含义?
大体上来说可分为单元测试,集成测试,系统测试,验收测试,每个阶段又分为以下五个步骤: 测试计划,测试设计,用例设计,执行结果,测试报告
初始测试集中在每个模块上,保证源代码的正确性,该阶段成为单元测试,主要用白盒测试方法。 接下来是模块集成和集成以便组成完整的软件包。集成测试集中在证实和程序构成问题上。主要采用黑盒测试方法,辅之以白盒测试方法。
软件集成后,需要完成确认和系统测试。确认测试提供软件满足所有功能、性能需求的最后保证。确认测试仅仅应用黑盒测试方法。
16.什么是单元测试?
单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。
17.什么是集成测试?
集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。
18.什么是系统测试?
系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。
19.什么是验收测试?
验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集.
20.什么是回归测试?
回归测试是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。
21.针对缺陷采取怎样的管理措施?
1. 要更好的管理缺陷,必须引入缺陷管理工具,商用的或者开源的都可。
2. 根据缺陷的生命周期,考虑缺陷提交的管理、缺陷状态的管理和缺陷分析的管理。
3. 所有发现的缺陷(不管是测试发现的还是走读代码发现的)都必须全部即时的、准确的提交到缺陷管理工具中,这是缺陷提交的管理。
4. 缺陷提交后,需要即时的指派给相应的开发人员,提交缺陷的人需要密切注意缺陷的状态, 帮助缺陷的尽快解决。缺陷解决后需要即时对缺陷的修复进行验证。这样的目的有两个:一个是让缺陷尽快解决;二是方便后面缺陷的分析(保证缺陷相关的信息准确,如龄期等),这是缺陷状态的管理。 5. 为了更好的改进开发过程和测试过程,需要对缺陷进行分析,总结如缺陷的类别、缺陷的龄期分布等信息,这是缺陷分析的管理。
22.单元测试、集成测试、系统测试的侧重点是什么?
单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试,测试重点是系统的模块,包括子程序的正确性验证等。 集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。测试重点是模块间的衔接以及参数的传递等。
系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。测试重点是整个系统的运行以及与其他软件的兼容性。
23.设计用例的方法、依据有那些?
白盒测试用例设计有如下方法:基本路径测试\边界值分析\覆盖测试\循环测试\数据流测试\程序插桩测试\变异测试.这时候依据就是详细设计说明书及其代码结构
黑盒测试用例设计方法:基于用户需求的测试\功能图分析方法\等价类划分方法\边界值分析方法\错误推测方法\因果图方法\判定表驱动分析方法\正交实验设计方法.依据是用户需求规格说明书,详细设计说明书。
24.描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程
1) 测试人员或开发人员发现bug后,判断属于哪个模块的问题,填写bug报告后,系统会自动通过Email通知项目组长或直接通知开发者。
2) 经验证无误后,修改状态为VERIFIED.待整个产品发布后,修改为CLOSED.
3) 还有问题,REOPENED,状态重新变为“New”,并发邮件通知。
4) 项目组长根据具体情况,重新reassigned分配给bug所属的开发者。
5) 若是,进行处理,resolved并给出解决方法。(可创建补丁附件及补充说明)
6) 开发者收到Email信息后,判断是否为自己的修改范围。
7) 若不是,重新reassigned分配给项目组长或应该分配的开发者。
8) 测试人员查询开发者已修改的bug,进行重新测试。

2011-11-25 10:26:02 igoone 阅读数 1123

1、测试需求的定义

测试需求就是指:什么是我们所要测试的
测试需求关注于What
测试需求说明了在一个软件测试项目中:
项目的测试范围
在测试项目中,我们需要进行开发生命周期中哪些阶段测试
  • 单元测试
  • 集成测试
  • 系统测试
  • 验收测试
项目的测试目标
  • 系统的哪些特性需要被测试以保证这些特性的质量。
  • 系统特性包括:功能、性能、易用性、安全性、兼容性……
  • 测试目标要根据系统的特点进行分解细化,分解到一个可测试的粒度,即单项具体的特性。
  • 未经分解细化,笼统的、整体或者概括性的特性不利于测试工作的开展。
2、测试需求的重要性
  • 保证测试人员、项目经理、客户的测试目标一致
  • 在有限的时间内做更有效的测试
  • 有效估计项目所需资源
  • 合理资源分配
  • 避免出现测试逃逸现象
  • 测试进度跟踪
  • 有效计算测试覆盖
3、测试需求的类型
  • 功能性测试需求:功能性需求描述了系统的特征或系统提供的服务。主要包括:系统功能、业务流程、界面功能和风格、系统安装等
  • 非功能性测试需求:非功能性需求描述了施加于系统操作上的约束。主要包括:性能要求、安全性要求、兼容性要求、移植性要求等
4、测试需求的组成
主体内容包括:
     需求标识、需求名称、需求描述、优先级、类型、状态、创建信息、关联测试用例、其它根据项目特点和要求而定制的内容 

5、测试需求结构 

测试需求的制订按级别进行分解
完成的测试需求是树形的结构,用纵向的树形结构表示(类似于资源管理器的文档结构)
枝干节点一般用于表达需求的分类或高阶的系统特性(如同计算机中的分类目录 )
叶子节点则用于表达具体需要测试的特性(如同计算机中目录下的具体文件)

6、测试需求分析过程 

第一步,描绘轮廓:就是要将整个应用程序要进行测试的范围描绘出来,包括测试目标、对象和策略等。(可通过阅读文档和钻研系统、确定系统特性及风险因素来确定)
第二步,分解单元:对测试范围进行分解,根据其结构分解成不同级别的单元,形成树形测试需求。如:子系统、模块、业务类型等。(考虑单元的粒度)
第三步,单元细化:对这些单元进行最终的细化,分解成具体的功能和处理条件、业务和不同场景等。细述每项测试需求,设定优先级
阅读文档和钻研系统:
  • 学会阅读文档和钻研业务
  • 索要文档、同类系统、系统原型
  • 积极参加培训和讨论
  • 各团队之间的沟通交流
  • 积极主动去询问——向测试经理、客户、开发经理等
  • 确定系统特性——从特性中考虑重点、需求
确定系统特性:

在软件测试需求分析中,我们可以从被测试系统的一些基本特征,来确定系统的一些需求、重点等。可以考虑的特征包括:

  • 架构
  • 开发平台
  • 运行环境架构
  • 根据业务特点,推测系统的测试重点、难点……
7、测试需求的风险因素
  • 优先级
  • 可测与不可测
  • 测试的代价
  • ……
8、测试需求的粒度

测试需求的粒度,要根据实际情况来确定

  • 测试类型和阶段
  • 不同的测试阶段
  • 不同的测试类型
  • 测试资源情况
  • 人力
  • 时间
  • 水平
9、测试需求分析方法和原则

1)原则:

功能性需求

  • 系统功能需求:
    根据系统架构,从高到低逐级细分
    关注具体的系统功能及功能的不同处理情形
    粒度以到不同的处理情形为宜
    正常与异常处理情形都要考虑
  • 界面需求:
    界面功能
    根据界面划分
    考虑控件对各种输入的响应
    界面元素
    考虑元素各种属性(位置、大小、颜色、显示等)
    先整体后局部
    局部按界面划分
    考虑内容正确性
  • 安装需求:
    缺省安装配置优先
    按照安装配置结构划分
    考虑所有安装配置
    考虑安装过程中的异常行为
  • 业务需求:
    根据业务结构和分类,从上至下逐级细分
    关注具体业务
    粒度以到不同业务场景为宜
    考虑正常与异常业务场景

非功能性需求

  • 性能/压力需求:
    先结构后类型
    先列举后细分
    细述指标和要求
  • 安全性需求:
    先列举后细分
    详述各项内容
  • 兼容性需求:
    先硬件后软件
    先系统后应用
    详述环境组合
10、测试需求注意事项
作为测试项目的基础,测试需求有5个需要依据的准则:
  • 完整性
  • 无歧义性
  • 一致性
  • 可跟踪性
  • 可测试性


2015-10-17 09:00:32 zhaizichaohao 阅读数 172

1、软件需求定义

      1)软件需求就是一个为软件系统的需求进行启发、组织、建档的系统方法,一个建立和维护客户和项目团队之间关于变更系统需求所达成的一致性的过程。

      2)一种获取,组织并记录系统需求的系统化方案,以及一个使客户与项目团队对不断变更的系统需求达成并保持一致的过程。

2、测试需求不等同于简单的测试范围,也不是测试设计,而是根据程序文件和质量目标对软件测试活动所提的要求。

      对软件测试做了一定程度的限定,使测试成本和质量在一定程度达成妥协,就是测试需求

      对软件测试的要求提出的总和,就是测试需求。

没有更多推荐了,返回首页