软件测试基础
一.什么是软件测试
顾名思义,就是在顾名思义,就是在规定的条件下对一个产品或程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程
二.发展现状
目前国内软件产业规模越来越大,国内软件行业突破了传统的作坊式生产,从单打独斗的开发模式升级为工业化、流水线式的生产模式,导致专业的软件测试人才需求缺口巨大。
据悉,目前国内软件测试和开发人员比例大约在1:4—1:5,而国外测试和开发人员比例为1:1,可见,国内软件测试人才需求和职业发展潜力巨大。据分析,中国软件测试职业具有以下特征:
1.就业竞争小;
2.薪资待遇号,职业寿命长;
3.无性别歧视
三.职业发展
1.初级测试工程师
通过网络或者是书籍学习或具有一些手工测试经验的个人,通常需要掌握独立编写功能测试用例,执行测试计划,编写测试报告,以及常用命令和常用工具的使用
2.测试工程师/测试分析员
具有1-2年经验的测试工程师或程序员。 能编写自动测试脚本和性能测试,进一步拓展编程语言、操作系统、网络与数据库方面的技能。
3.高级测试工程师/测试分析师
具有3-4年经验的测试工程师或程序员。帮助开发或维护测试或编程标准与过程,负责同级的评审,并为其它初级的测试工程师或程序员充当顾问。继续拓展编程语言、操作系统、网与数据库方面的技能。
4.测试组负责人
具有4-6年经验的测试工程师或程序员。负责管理 1至 3名测试工程师或程序员,担负一些进度安排和工作规模/成本估算职责,更集中于技能方面。
5.测试/编程负责人
具有6-10年经验的测试工程师或程序员。负责管理8至 10名技术人员,负责进度安排、
工作规模/成本估算、按进度表和预算目标交付产品,负责开发项目的技术方法,为一些用
户提供支持与演示,开发一些特定领域的技术专长。
6.测试/质量保证/开发(项目)、经理
具有10多年的工作经验。 管理 8名或更多的人员参加的1个或多个项目, 负责这一领域 (测试/质量保证/开发)内的整个开发生存周期业务,为一些用户提供交互和大量演示,负责项目成本、进度安排、计划和人员分工。
7.计划经理
具有15年以上开发与支持(测试/质量保证)活动方面的经验。管理从事若干项目的人员以及整个开发生存周期,负责把握项目方向与盈亏责任。
四.职业发展空间
结合国内外软件测试行业现状,划分为三个方向,分别是
自动化测试工程师、白盒测试工程师、性能测试工程师。
1.自动化测试工程师,为其定义在功能测试范畴,指通常所说的依靠自动化测试工具进行
软件黑盒测试的工程师。
2.白盒测试工程师,定位于在软件测试周期的单元测试阶段对软件进行的代码级测试的
人,包括代码走读、代码功能与逻辑测试、代码内存泄漏检查、代码运行效率检查、代码测
试覆盖率分析等。
3.性能测试工程师, 即在系统测试阶段、功能测试后对软件系统性能指标进行采集分析和
运行效率检测。
软件测试背景
引言:
软件测试在软件生命周期中占据重要的地位,软件测试慢慢的独立发展成为一个行业,并且在迅猛发展,软件测试主要是发现问题定位问题,配合开发解决问题,如果公司中没有测试岗位可能存在很大的风险。
一.软件缺陷产生的原因
通过大量的测试理论研究及测试实践经验的积累,典型的软件缺陷产生的原因被归纳为以下几种类型:
(1) 需求解释有错误;
(2) 用户需求定义错误