软件测试基础
软件测试相关概念
1.软件测试的定义:
在规定的条件下对程序进行操作,以发现程序的错误,并对软件质量进行评估。
PS:用简单的话来概述,我们可以把软件测试理解为:在把软件交付给用户使用前,我们先用一遍。其实,软件测试,就是在使用软件,站在用户的角度,模拟各种正常的和异常的场景来使用软件。
2、测试的目的:
软件测试不仅仅是为了发现软件缺陷与错误,而且也是对软件质量进行度量和评估,以提高软件的质量。
软件的质量
软件质量就是“软件与明确的和隐含的定义的需求相一致的程度”。
明确的需求指:软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准;
隐含的需求指:所有专业开发的软件都应具有的隐含特征的程度,比如:符合行业标准。
软件测试原则
基于测试是为了寻找软件的错误与缺陷,评估与提高软件质量,因此我们提出了这样的一组测试原则,如下所示。
1.所有的软件测试都应追溯到用户需求。
2.应当把“尽早地和不断地进行软件测试”作为软件测试者的座右铭。
3.完全测试是不可能的,测试需要终止。
4.充分注意测试中的群集现象。
5.程序员应避免检查自己的程序。
6.尽量避免测试的随意性
软件测试风险
1.软件测试中的软件风险分析是根据预测软件将出现的风险,制定软件测试计划并排列优先等级,风险分析是对软件中潜在的问题进行识别、估计和评价的过程。
2.风险也包括进度风险、质量风险、人员风险、需求变更、成本风险等
优秀的软件测试工程师
专业技能:
1.计算机相关知识,能够熟练使用各种常用的管理工具,如:SVN,禅道等
2.开发语言:python,C,Java,Shell,ruby等
3.数据库:Oracle,MySQL,SQL Server 2005 等数据库知识
4.操作系统,如 Window系统,UNIX,Linux,Solaris,
AIX 等
5.网络基本知识,熟悉常见的网络协议,如http协议,OSI模型,TCP和UDP的区别
6.能够独立完成测试环境的搭建(至少能根据安装手册搭建测试环境)
7.软件测试理论知识:软件测试流程,测试方法,测试理论有较深的理解。
8.能编写各类测试文档,具备进行需求分析,需求讲解,能独立设计测试用例,执行测试,跟踪缺陷的修复,提交完整的缺陷报告单, 编写测试报告的能力。
9.掌握性能测试,自动化测试和接口测试的方法,流程以及相关工具的使用。
职业素养:
1、良好的沟通表达能力;
2、能很好地与领导,同事相处;
3、强烈的责任感,团队意识,抗压能力,工作要细心,耐心。
软件测试工程师的日常工作内容
1.参与需求分析
2.编写和执行测试用例
3.搭建测试环境
4.提交问题单
5.维护测试用例,测试脚本
6.回归测试
7.编写测试报告,日报,周报
8.完成测试相关的其它任务