软件测试在软件开发中占据了一半以上的工作量,岗位需求大,人才缺口也很大,在IT培训领域,软件测试入门不难,只要你愿意努力学,不论你是什么专业都可以进入软件测试行业。 本文面向软件测试新手,提供了若干个软件测试的小知识点,这些软件测试常识新手必须要牢记: 01.软件测试(软件测试存在的意义) 1.发现程序中的错误而执行程序的过程 2.检验软件是否符合用户需求 3.提高用户体验 02.软件测试的原则(常识) 1、尽早介入(需求分析时介入) 2、追溯到用户需求(不要闭门造车) 3、程序员应该避免检查自己的程序,除了单元测试。正面测试+反面测试二八原则,80%的错误集中于20%的模块中(聚集效应) 4、对错误的结果有一个确认的过程(多做几次测试,记录测试过程,偶现型BUG) 5、制定严格的测试计划(开始时间、负责的模块.....) 6、完全测试不可能,测试需要终止(会存在一些合理的BUG,不影响用户体验和使用的,这些BUG可能要下个版本才会改) 03.软件测试的分类 一、按测试阶段分: 单元测试、集成测试(开发和测试员都可以做,接口测试划分在集成测试里面的)、系统测试(完整的、整体的一个测试,不是安卓、苹果系统)、验收测试(正式验收测试、Alpha测试、Beta测试 游戏内测、预发布版本、公测) 注:Alpha测试:前期用户测试,模拟实际操作环境下进行验收测试(内测)属于开发环境,开发和测试不能参与Beta测试:后期用户测试,真实环境下进行的(公测),开发和测试也不能参与相同点:开发和测试都不能参与不同点:前期、后期,开发环境进行和真实环境进行 二、按测试技术划分: 白盒测试(代码级别)、黑盒测试(通过外部操作和表面反应来发现)、灰盒测试 三、按测试包含的内容划分: 功能测试(点点点)、界面测试(UI界面)、安全测试、兼容性测试、易用性测试(是否容易上手)、性能测试、压力测试、负载测试、恢复测试(灾备,自我修复)  四、其他测试: 冒烟测试(版本发布之前主干测试,在真正测试之前)、 回归测试(验证测试修复好的BUG及其相关功能是否正常)、探索性测试(测试思维)随机测试 04.软件测试的生命周期(六个阶段) 一、问题定义及规划阶段主要确定软件的开发目的及其可行性,制定开发计划 注:老板、产品经理、研发、项目经理、需求分析师来做 二、需求分析/评审阶段分析来源(原型图/软件需求说明书)、参与人员(主持--产品经理,其他参与、研发、设计、测试)、关注一个问题--测试参与这个需求分析的目的是什么?(知己知彼、方便提出疑问) 三、软件设计阶段(属性:属于开发的工作)概要设计(数据库 表 等框架性的东西)详细设计(伪代码级别) 四、软件编码阶段开发人员任务、程序员编码 五、软件测试阶段测试工程师的任务或开发的任务开发做:单元测试、开发or测试:集成测试---接口测试测试人员:系统测试、客户or产品经理:验收测试---Alpha测试、Beta测试 六、软件运行维护阶段版本、产品上线(版本的升级改进)BUG的修复 05.软件测试的工作流程 一、接触到哪些岗位人员 开发、产品经理、客服、实施/技术支持/现场实施、设计师 二、测试的工作流程: 1、测试需求分析阶段: 阅读需求/理解需求、整理需求点、有疑问的地方要一网打尽,要讨论,弄明白为止。 2、测试计划阶段: 一个文档:测试负责人/小组长制定计划 包含的内容: ①目的:我们要完成测试,大概什么时候完成,达成什么样的目标。②人员:哪些人参与进来,成为测试小组。 ③任务划分:谁负责哪个功能模块的测试/用例的编写。 ④时间规划:什么时候开始写用例,什么时候开始测试,什么时候结束测试,什么时候上线。 ⑤出具的文档:用例,bug清单,测试报告。 ⑥资源的申请/准备:申请一台服务器?我要做什么类型的测试?需要准备什么样的工具? 3、测试设计阶段: 写测试用例: ①评审:相互检阅用例是否OK是否完整是否正确 ②修改:理解错误:改正,需求变更:修改 测试执行阶段 在测试之前会进行冒烟测试(通过则继续,不通过,打回)、 根据测试用例去执行测试: ①发现bug--提交到bug管理系统上去 ②开发修复了之后,要去验证,然后进行回归测试 4、测试评估阶段: 测试完毕,出具测试报告, 测试通过则上线、测试不通过则打回,修改,重新测试。 (本文由源码时代老师撰写,写这篇文章目的是为了帮助软件测试新手更好地掌握软件测试知识点。)