测试基础培训

2020年10月19日 作者 kee

一、什么是软件测试?

用来确认一个程序的功能、性能、安全性等,是否符合最原始的需求设计。

 

二、软件测试的目的?

确保软件的质量,为了让软件更好地被使用方接受,包括软件的功能、性能、安全性、兼容性和易用性。

 

三、软件测试需要掌握哪些技能?

  1. 计算机操作技能(计算机系统功能、办公软件、通讯协议等)
  2. 软件测试基础(各种测试理论,测试方法,测试用例编写,缺陷标准,质量评估等)
  3. 数据库、服务器、中间件(MySql、SqlServer、Apache tomcat、Jboss等)
  4. 常用操作系统(Windows、linux、安卓/IOS等)
  5. 程序设计(测试相关,如vbs、js、java、Python,工具可用开源免费的vs code)
  6. 项目管理软件(TD、禅道、JIRA等)
  7. Bug管理软件(禅道、JIRA)
  8. 版本管理软件(SVN、VSS、GIT)
  9. 测试工具(selenium、QTP、appnium、loadrunner、jmeter、postman、appscan等)
  10. 抓包工具(fiddler、charles、firebug等)
  11.  

 

四、测试的各种类型与测试设计方法

白盒测试:基本路径覆盖、逻辑覆盖、循环覆盖。


黑盒测试:等价类划分、边界值分析法、因果图法、状态图法、场景法、错误推测法、容错率测试法。

 

五、软件测试都有哪几个阶段

单元测试(白盒) – 集成测试(灰盒) – 系统测试(黑盒) – 验收测试(黑盒)

 

六、软件的生命周期

总结:问题的定义及规划 – 需求分析评审 – 软件设计 – 软件测试 – 运营维护

 

七、软件测试的生命周期

总结:需求分析阶段(开始) – 测试计划阶段 – 测试设计阶段 – 测试执行阶段 – 测试评估阶段(收尾)

 

八、黑盒测试与白盒测试优缺点及区别

黑盒测试的优点有:
比较简单,不需要了解程序内部的代码及实现;
从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;
基于软件需求文档,所以也能知道软件实现了文档中的哪些功能;在做软件自动化测试时较为方便。

黑盒测试的缺点有:
不能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的60%;
自动化测试的复用性较低。

白盒测试的优点有:
帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。

白盒测试的缺点有:
程序运行过程中会有很多不同的路径,不可能测试到所有的运行路径;
测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;
系统庞大时,测试开销会非常大。

 

九、什么是静态测试与动态测试?

静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析来找错。静态方法通过程序静态特性的分析,找出欠缺和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。静态测试结果可用于进一步的查错,并为测试用例选取提供指导。

动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能,这种方法由三部分组成:构造测试实例、执行程序、分析程序的输出结果。