昆仑山:眼中无形心中有穴之穴人合一

夫君子之行,静以修身,俭以养德;非澹泊无以明志,非宁静无以致远。夫学须静也,才须学也;非学无以广才,非志无以成学。怠慢则不能励精,险躁则不能冶性。年与时驰,意与岁去,遂成枯落,多不接世。悲守穷庐,将复何及!

 

测试相关面试题

TDD 测试驱动编程,编程方法学 编程思想

DDD 领域驱动测试

软件测试的定义

通过手工或者工具对"被测对象"进行测试操作,从而验证实际结与预期结果之间是否存在差异。

软件测试作用

1.通过测试工作可以发现并修复软件当中存在的缺陷.从而提高用户对产品的使用信心
2.测试可以记录软件运行过程中产生的一些数据,从而为决策提供数据支持
3.测试可以降低同类型产品开发遇到问题的风险。

测试原则

所谓的测试原则指的就是我们在执行测试工作时必须要遵守的一些规则
1.测试证明软件存在缺陷
    无论执行什么样的测试操作都保能证明当前软件是有缺陷的
2.不能执行穷尽测试
    有些功能是没有办法将所有的测试情况都逻列出来,所以任何的测试操作都有结束的时间。
3.缺陷存在群集现象
    对于软件功能说,核心功能占20%,非核心是80%。在实际工作中我们会集中测试20%的核心功能,所以这个部分发现缺陷的几幸就会高于80%,因此我们我们就会    
    遇到缺陷都集中在20%功能模块里的现象。
4.某些测试需要依粉特殊的环境

5.测试应尽早介入
   为了更多的发现和更好的解决软件中的缺陷.我们追求测试工作尽早
6.杀虫剂现象
   同样的一个测试用例不能重的执行多次、因为软件会对它产生免疫

7.不存在缺陷谬论
   软件不可能是完美的

系统测试分类

1. 功能测试:验证当前的软件主体功能是否可用

2.兼容性测试:验证当前软件在不同的环境下是否还可以使用。

3.安全测试:验证软件是否只是能授权用户提供功能使用

4.性能测试:相对于当前软件消耗的资源     它的产出能力

常见的系统测试方法

按测试对象进行分类

1.白盒测试:
      这种测试的主体就是软件的底层代码,不会在意外在的界面是否OK,只要求底层功能实现,同时逻辑正确。
2.黑盒测试:
       这种测试就是指测试软件外在主体功能是否可用
3.灰盒测试:
      介于二者之间(接口测试)

注意:
 上述三种方法当中的"盒" 指的就是被测对象。

按测试对象是否执行分类

1.动态测试
        将软件运行在真实的使用环境中进行测试
2.静态测试
        指的就是测试不执行

按测试手段进行分类

1.手工测试
        由测试人员手动的对被测对象进行验证,优点就是可以灵活的改变测试操作及环境。
2.自动化测试
       所谓自动化主要有两种形式:
            a.自己写测试脚本。
            b.通过第三方的工具对被测对象进行测试。
                    优点: 可以高效的去执行一些人工无法实现的操作。

测试流程

需求分析—>
需求评审(项目需求人员,开发人员,测试人员)–>
定排期(开发人员制定开发计划,测试人员定测试计划)–>
开发人员进行代码开发,同时测试人员编写测试用例–开发人员开发完成提交代码–>
测试人员showcase用例评审–>
运维人员部署软件测试线–>
测试–>
开发修bug–>
测试完成,提交测试报告–>
上线–>
线上检查–>
邮件抄送组内进行上线通报。

测试类型

  根据项目流程阶段划分:单元测试,集成测试,系统测试,验收测试

  根据对代码的可见程度划分:黑盒测试,白盒测试,灰盒测试

  根据是否投入大量人力划分:手工测试,自动化测试

  还有冒烟测试,回归测试,随机测试

测试方法

  黑盒测试:边界值,等价类划分,因果图,决策表,错误推测法

  白盒测试:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖

测试工具

  接口测试工具:jmeter,postman,robotframework

  性能测试工具:Jmeter,loadrunner

  UI测试:Selenium

posted on 2019-02-20 13:20  Indian_Mysore  阅读(106)  评论(1编辑  收藏  举报

导航