一个有竞争力的测试人员要具有下面三个方面的素质:
1.计算机专业技能
计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。则计算机专业技能是必不可少的。计算机专业技能主要包含三个方面:
测试专业技能
测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。
软件编程技能
测试人员要想得到较好的职业发展,必须能够编写程序。只有能给编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。
此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。
网络、操作系统、数据库、中间件等知识:
由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等知识。
在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,领测认为尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。
操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的操作命令以及相关的工具软件。而WebLogic、Websphere等中间件的安装、配置很多时候也需要掌握一些。
数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握SQL。测试人员至少应该掌握Mysql、MS Sqlserver、Oracle等常见数据库的使用。
2.行业知识
只有掌握了相关的行业知识,才可以判断出用户的业务需求是否得到了实现,才可以判断出开发人员实现的产品功能是否正确。
3. 个人素养
作为一名优秀的测试工程师,首先要对测试工作有兴趣:测试工作很多时候都是显得有些枯燥的,因此热爱测试工作,才更容易做好测试工作。因此,除了具有前面的专业技能和行业知识外,测试人员应该具有一些基本的个人素养,即:专心,细心,耐心,责任心,信心。做好测试用例设计工作关键的是什么?
白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果. 黑盒测试用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题
你所熟悉的测试类型有哪些?试着分析这些不同的测试类型的区别和联系?
测试类型有:功能测试,性能测试,界面测试。
功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
界面测试,界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。
区别在于,功能测试关注产品的所有功能上,要考虑到每个细节功能,每个可能存在的功能问题。性能测试主要关注于产品整体的多用户并发下的稳定性和健壮性。界面测试更关注于用户体验上,用户使用该产品的时候是否易用,是否易懂,是否规范(快捷键之类的),是否美观(能否吸引用户的注意力),是否安全(尽量在前台避免用户无意输入无效的数据,当然考虑到体验性,不能太粗鲁的弹出警告)?做某个性能测试的时候,首先它可能是个功能点,首先要保证它的功能是没问题的,然后再考虑该功能点的性能测试。
(接口测试也叫业务流程测试(包括功能模块之间、模块与模块之间、子系统之间)如果某些数据的主键是由数据库本身而实现的,可以不用删除,如果有些主从表是由程序员写的代码而实现,则要进行数据完整性的测试。
软件测试主要从以下16种类型进行测试:
一:功能测试(10个方面)
菜单、工具栏、快捷键、下拉框、按钮、单选按钮、复选按钮、切换、链接、触发键
二:界面测试
登陆界面、总界面、输入界面(增、删、改、查)、处理界面、输出界面、报表界面、提示界面
三:容错测试
数据长度、数据类型、非法此操作
四:接口测试
接口测试也叫业务流程测试(包括功能模块之间、模块与模块之间、子系统之间)
内部接口:例如:导入、导出(通俗的讲是接口就是调用)
外部接口:
五:性能测试(TPS吞吐量、响应速度、cpu占用率、内存占用率)
平均吞吐量:单位时间内处理事务的个数
平均响应速度:做一个事务处理所用时间
例如:界面操作效率测试;报表输出及查询效率测试
六:负载测试(压力测试、强度测试、容量测试)
压力测试即就是大用户测试(针对B/S而言)
容量测试即就是大数据量测试
七:并发测试
指多个用户在同一时间对同一条数据的删除或者修改等处理
八:稳定性测试
例如:1小时触发600条信息,那么8个、10个等发信息的条数测试九:恢复测试
突然断电(系统触发正常启动;数据包要在断电的地方继续进行处理) 十:配置测试
最低配置:
推荐配置:大多数用户所用的配置
十一:安装测试
安装过程;卸载过程
十二:文档测试
交给用户的文档。例如:系统帮助、用户使用手册、用户安装手册十三:可用性测试(纯粹靠经验)
十四:初始化测试
是指系统刚刚安装完成后,在数据位空的情况下,如果被调用的模块为空,点击调用模块的时候,是否进行容错的测试。
十五:数据完整性测试
是指当主表的某一条件信息被删除后,和这一条相关的从表的信息都应该被删除。
如果某些数据的主键是由数据库本身而实现的,可以不用删除,如果有些主从表是由程序员写的代码而实现,则要进行数据完整性的测试。
16 种测试类型归类
测试计划的目的是什么?测试计划工作的内容包括什么?其中哪些是最重要的?
软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。
测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。所以其中最重要的是测试测试策略和测试方法(最好是能先评审)
编程1:排序,字符串遇5为空格
int main()
{
int a[10000],len;
int start,end,n;
char str[10024];
int i,j,min,temp;
while(gets(str)!=NULL)
{
len=strlen(str);
n=0;