******************软件测试第一次任务********************
1.狭义软件测试和广义软件测试的概念。
2.软件测试的目的和关键问题。
3.软件测试以不同分类标准如何划分?
4.如何测试一个纸杯?分别从功能性、安全性、可靠性、可移植性、兼容性、易用性和用户文档方面进行考虑。
1.狭义软件测试和广义软件测试的概念。
需求、设计阶段需要对文档的评审,设计框架的审查等都是软件测试的主要内容
狭义测试从编写代码结束后开始;是识别软缺陷的过程,即实际结果与预期的不一致。
广义测试是贯穿项目开发始终;指软件生存周期中所有的检查、评审和确认工作,其中包含了对分析、设计阶段,以及完成开发后维护阶段的各类文档、代码的审查和确认。
2. 软件测试的目的和关键问题。
软件测试的目的:
不仅仅是为了发现软件缺陷与错误,同时也对软件进行度量和评估,提高软件质量
回避潜在的软件错误和缺陷给软件造成的商业风险
发现当前开发工作所采用的软件过程的缺陷,修改软件开发规则
对软件质量进行度量和评估
关键问题:
软件测试是为了证伪而非证真
尽早地不断地进行软件测试
重视无效数据和非预期使用习惯的测试
程序员应避免检查自己的程序
充分注意测试中的群集现象
用例要定期评审
应当对每一个测试结果做全面检查
测试现场保护和资料归档
软件测试的经济型原则
3. 软件测试以不同分类标准如何划分?
按开发阶段划分:单元测试、集成测试、系统测试、验收测试
按是否运行:静态测试、动态测试
按是否查看原代码:白盒测试、黑盒测试(按功能测试分为逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试分为一般性能测试、稳定性能测试、负载测试、压力测试)
其他:回归测试、冒烟测试、随机测试
4. 如何测试一个纸杯?分别从功能性、安全性、可靠性、可移植性、兼容性、易用性和用户文档方面进行考虑。
功能性:用水杯装水看漏不漏;水能不能被喝到
安全性:杯子有没有毒或细菌
可靠性:杯子从不同高度落下的损坏程度
可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用
兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等
易用性:杯子是否烫手、是否有防滑措施、是否方便饮用
用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述
******************软件测试第二次任务********************
1.
2.软件质量的特性
静态质量特性
代码:构化的 可维护的 可测试的
文档:正确的 完整的
动态质量特性
正确性 可靠性 完整性 一致性 易用性 性能
3.【1-((13-7+1)/(20-0+1))】%=66.7%
4.A
5.软件中存在的故障与发现的故障数成(正比)
6.软件测试停止的准则
基于测试阶段的原则
基于测试用例的原则
基于缺陷收敛趋势及缺陷修复率原则
基于验收测试原则
基于覆盖率的原则
软件项目暂停或终止,则调试活动也相应的暂停或停止
******************软件测试第三次任务********************
深度优先:第一种是一头扎到底的玩法。我们选择一条支路,尽可能不断地深入,如果遇到死路就往回退,回退过程中如果遇到没探索过的支路,就进入该支路继续深入。
广度优先:又叫层次遍历,从上往下对每一层依次访问,在每一层中,从左往右(也可以从右往左)访问结点,访问完一层就进入下一层,直到没有结点可以访问为止。
******************软件测试第四次任务********************
1.静态白盒测试的方法?
同事审查
走查
检查(最正式的审查类型)
2.白盒测试和黑盒测试都是既有静态的又有动态的。(X)
黑盒测试都是动态测试,
3.静态黑盒测试的方法?
需求文档测试
用户文档测试
产品说明书测试
4.需求设计说明书的书写步骤
确定系统的综合要求
分析系统的数据要求
导出系统的逻辑模型
修正开发计划
书写文档
******************软件测试第五次任务********************
1.什么是测试用例
测试用例是测试工作的指导,是软件测试的必须遵守的准则,更是软件测试质量稳定的根本保证
指的是在测试之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和预期结果。
其好坏直接决定了测试的效果和结果。所以说在软件测试活动中最关键的步骤就是设计有效的测试用例。其既可以争对黑盒测试设计用例,也可争对白盒测试
2.好的测试用例有什么特征
可以最大程度地找出软件隐藏地缺陷
可以最高效率地找出软件缺陷
可以最大程度地满足测试覆盖要求
既不过分复杂,也不能过分简单
使软件缺陷的表现可以清楚地判定
(测试用例包含期望的正确的结果
待查的输出结果或文件必须尽量简单明了)
不包含重复的测试用例
测试用例内容清晰、格式一致、分类组织
******************软件测试第六次任务********************
下列链接中找到合适的正交表: http://support.sas.com/techsup/technote/ts723_Designs.txt
******************软件测试第七次任务********************
语句覆盖:选择足够多的测试数据使得被测程序中每条语句至少执行一次
条件覆盖I:构建一组测试用例,使得每一个判定语句中每一个子逻辑条件的可能值至少满足一次
路径覆盖:
******************软件测试第八次任务********************
******************软件测试第九次任务********************
1.软件测试的阶段
4.需求规格说明书检查的内容。
7.测试计划的内容
******************软件测试第十次任务********************
1.基于需求的软件测试重点关注哪两方面的问题?
验证需求是否正确、完整、无二义性,并且逻辑一致
要从“黑盒”的角度,设计出充分并且必要的测试集,以保证设计和代码都能完全符合需求
2.测试用例的选择需考虑哪些因素?
本次测试的上下文:
是第一次测试,还是回归测试?
测试持续的时间有多长?
自动化脚本的准备情况怎么样了?
如果等到最后才做性能测试,是否会加大修改的难度
测试的分工
3.软件测试中对环境的测试包含什么?
测试数据、测试机器、网络环境、安装包、操作系统
4.冒烟测试的概念。
电路板测试得来
是对软件基本的功能进行测试,目的是确认软件基本的功能正常,保证软件系统能跑的起来
******************软件测试第十一次任务********************
1.软件的度量和软件测试的度量
软件的度量:对软件产品自身的测量
产生软件产品过程的测量
软件测试的度量:对软件测试的产出物
测试的过程的测量
2.测试度量的难度是什么?
不能直接从产品的质量反映测试的效果
应该从软件产品的度量转移到测试产出物的度量,以及测试过程的度量
3.填空:
(1)代码覆盖率是指(测试执行遍历了代码的哪些区域,测试执行经过的代码行数与总的代码行数的比例)。
(2)(开发人员、QA、测试管理者)可以对测试人员进行评价。
(3)功能模块覆盖率的公式是((已执行测试的功能模块数/总的功能模块数)*100%)。
(4)数据库覆盖率是(测试人员测试的功能模块对数据库表的访问面积的覆盖率)。
4.bug综合评价模型中的因素是什么?
数量、质量、定量、定性、测试过程、测试人员
5.在同一个项目中,A,B测试人员参与同样的测试工作,两人的测试数据如下:
(1,轻微;2低;3,中;4,高) 测试人员A:发现级别是1的缺陷150个,发现级别为2的缺陷200个,
发现级别是3的缺陷260个; 测试人员B:发现级别是1的缺陷200个,发现级别为2的缺陷180个,发现级别是3的缺陷300个; 试通过加权的方法计算A,B两人统计的缺陷数。
******************软件测试第十二次任务********************
看Hyman分别测试法和利用植入故障法估算程序中原有故障总数,计算下面这两道题。
(1)两个小组独立地测试同一个程序,第一组发现25个错误,第二组发现30个错误,在两个小组发现的错误中有15个是共同的,
那么可以估计程序中的错误总数是 ___个。
A.25 B.30 C.50 D.60
(2)测试某程序时人为地植入的错误数为20,测试之后发现50个错误,其中10个植入的错误。
如果认为测试方案发现植入错误和发现原有错误的能力相同,则能估出程序中原有错误的总数是( )个。
1)Hyman分别测试法 B0=(B1*B2)/bc=25*30/15=50
测试员甲发现的故障总数B1
测试员乙发现的故障总数B2
两人发现的相同故障数目bc
(2)植入故障法 N=(Ns/ns)*n=(50-10)*20/10=80
Ns在测试前人为的向程序中植入的故障数
ns是经过一段时间测试后发现的播种故障的数目
n是在测试中又发现的程序原有故障数
******************软件测试第十四次任务********************
1.自动化测试的局限性
4.自动化测试工具的特征
5.软件兼容性测试的内容