软测+sql 学习笔记

1.为避免软件缺陷造成的高成本支出或损失,软件测试越早介入越可以帮助规避风险。

2.Alpha测试:Alpha测试是一种验收测试,在识别典型用户可能执行的任务并对其进行测试之前,执行该测试是为了识别所有可能的问题和错误。

尽可能简单地说,这种测试之所以被称为alpha,只是因为它是在软件开发的早期、接近开发结束时和Beta测试之前进行的。Alpha测试的主要焦点是使用黑盒和白盒技术模拟真实用户。

3.Beta测试:Beta测试是由软件应用程序的“真实用户”在“真实环境”中执行的,可以被视为外部用户验收测试的一种形式。这是将产品发布之前的最终测试,此测试有助于在用户的环境中测试产品。

软件的Beta发布给有限数量的产品最终用户,以获取对产品质量的反馈。Beta测试降低了产品故障风险,并通过客户验证提高了产品质量。

Beta测试是一种验收测试

产品通过Beta测试后,即可正式发行。

4.关键差异

4.1.Alpha测试由组织内的测试人员执行,而Beta测试由最终用户执行。

4.2.Alpha测试在开发人员现场执行,而Beta测试在客户位置执行。

4.3.在Alpha测试中不进行深入的可靠性和安全性测试,而在Beta测试期间检查可靠性、安全性和健壮性。

4.4Alpha测试包括白盒测试和黑盒测试,而Beta测试主要涉及黑盒测试。

4.5Alpha测试需要测试环境,而Beta测试不需要测试环境。

4.6Alpha测试需要很长的执行周期,而Beta测试只需要几周的执行时间。

4.7关键问题和错误在Alpha测试中立即得到解决和修复,而问题和错误则从最终用户收集,并在Beta测试中进一步实现。

6.风险曝光度(riskexposure)=错误出现率(风险出现率)X错误造成损失(风险损失):

风险成本 = 20 x 100 x 150 x 50% =150000元

风险概率 = 60%

风险曝光度 = 150000元 x 60% = 90000元

6.判定覆盖是每个判定的真假一次,就会导致所有的结果路径会实现。

  1. 单元测试的测试用例主要根据详细设计的结果来设计。

单元测试-详细设计

集成测试-概要设计

确认测试,系统测试-需求文档

验收测试-用户需求

  1. 单元测试、集成测试涉及到路径测试

  2. 非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求一次全部组装起来所要的系统,然后进行整体测试。
  3. 非增量--每个模块测试完了再连接;
  4. 增量:测一个模块,就连接一个模块。

非增量式集成是在对每个单元进行充分测试后、将所有单元全部集成起来,一次性地进行集成测试

自顶向下集成:按深度优先越广度优先策略,对各个模块一边组装一边进行测试

自底向上集成:从系统层次结构图的最底层模块开始进行组装和测试的方式

三明治式集成:综合自顶向下和自底向上

  1. 负载测试:是通过逐步增加系统负载,测试系统性能的变化,并在满足最终确定性能指标的情况下,系统所能承受的最大负载量的测试
  2. 压力测试:逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载下系统性能处于失效状态,并以此来获得系统能提供的最大服务级别的测试
  3. 灰盒测试, 也称作灰盒分析,是基于对程序内部细节有限认知上的软件调试方法。
  4. 白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试。
  5. 黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用
  6. 系统测试是基于软件需求说明书的黑盒测试,是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确
  7. 集成测试的主要目的是检查软件单位之间的接口是否正确,主要是针对程序内部结构进行测试,特别是对程序之间的接口进行测试。
  8. 回归测试不是软件测试的步骤,而是策略
  9. 动态分析:代码运行结束后

        静态分析:代码运行之前

  1. 数据流分析是一项编译时使用的技术,它能从程序代码中收集程序的语义信息,井通过代数的方法在编译时确定变量的定义和使用。
  2. BC 桩模块(Stub)是指模拟被测试的模块所调用的模块,而不是软件产品的组成的部分。在自顶向下的集成过程中尤其有效。
  3. 用一个桩函数替换一些接口函数,用于测试当前函数的特性。

23.工作说明书—SOW  制定测试的进度

概要设计说明书-HLD  设计测试的用例

详细设计说明书-LLD  程序员编码实现

单元测试用例-UTC    单元测试使用

24.修正条件/判定覆盖 MC/DC --Modified Condition/Decision Coverage:锁定其他的条件不变,改变一项条件,必引起整个表达式变化.

【例】IF(A||B||C)THEN  W=W/X

锁定AB的值不变(FF_) 改变C条件的值 {FFT,FFF}

锁定AC的值不变(F_F) 改变B条件的值 {FTF,FFF}

锁定BC的值不变(_FF) 改变A条件的值 {TFF,FFF}


 

25.unit单元测试框架—基于java语言对的主流单元测试框架

@beforeClass—位于数据准备前期或者其他前期准备(测试类调用前)

--用于提取代码中的共用部分减少冗余,只能声明注解一次

--必须在public static void,方法名随意,,只运行一次。

@AfterClass—位于所有用例运行之后,处理测试后续工作。

            --测试类被调用运行结束之前,只能声明注解一次。

            --必须在public static void,方法名随意,,只运行一次。

@Test—在Junit3中通过对测试类和测试方法的命名来确定是否为测试

      --在Junit4中,只要在方法前加@Test就行,此注解必为单元测试。

      --在一个测试类可多次注解,每个只被执行一次,必须是public void

      --可以抛异常

使用Assert断言

1、断言相等:assertEquals(100,x),判断对象是否为同一个

断言不相等:assertNotEquals(100,x),判断对象是否不为同一个

2、断言数组内容相等:assertArrayEquals({1,2,3},x)

3、断言浮点数相等:assertEquals(3.1416, x, 0.0001)(必须设置误差值)

4、断言为null:assertNull(x)

5、断言真伪性:assertTrue(x > 0)/assertFalse(x < 0)

6、 校准测试函数,使用操作符'=='比较实际和预期的是否重复

  1. CMM/CMMI是这两种方法属于测试驱动开发的方式。

sql语句

1.创建视图的语法

CREATE VIEW view_name[column] AS select_statement [WITH CHECK OPTION]

2.UPDATE更新语法

UPDATE table_name SET field1 = new-value1, field2 = new-value2 [WHERE Clause];

3.索引滥用会降低更新表的速度,更新表时,MySQL不仅要更新数据,保存数据,还要更新索引,保存索引,索引会占用磁盘空间。

4.GRANT "权限" on "数据库" to "用户名"@"IP地址" IP地址无限制可输入'%'

5.grant select ,insert on user.* to 'nkw'@'%'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值