软件测试作业指导说明书Word文件下载.docx
- 文档编号:22079623
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:48
- 大小:572.80KB
软件测试作业指导说明书Word文件下载.docx
《软件测试作业指导说明书Word文件下载.docx》由会员分享,可在线阅读,更多相关《软件测试作业指导说明书Word文件下载.docx(48页珍藏版)》请在冰豆网上搜索。
3.设计方案
和产品说明书是一样,片面、易变
4.交流不够、交流上有误解或根本不进行交流
在应用应该做什么或不应该做什么细节(应用需求)不清楚情况下进行开发
5.软件复杂性
图形用户界面(GUI),用户/服务器结构,分布式应用,数据通信,超大型关系型数据库和庞大系统规模,使得软件及系统复杂性呈指数增加,没有现代化开发经验人极难了解它。
6.程序设计错误
跟全部人一样,程序员也会犯错
7.时间压力
软件项目标日程表极难做到正确,很多时候需要估计和猜测。
当最终期限迫近和关键时刻到来之际,错误也就跟着来了。
8.自负
自负人更喜爱说:
“没问题”;
“这件事很轻易”;
“多个小时我就能拿出来”,太多不切
实际“没问题”结果只能是引入错误。
9.代码文档贫乏
贫乏或差劲文档使得代码维护和修改变异常艰辛,其结果是带来很多错误。
事实
上,在很多机构并不激励其程序员为代码编写文档,也不激励程序员将代码写得清楚和
轻易了解,相反她们认为少写文档能够愈加快进行编码,无法了解代码更易于工作
保密(“写艰苦肯定读痛苦”)
10.软件开发工具
可视化工具,类库,编译器,脚本工具,等等,她们常常会将本身错误带到应用软件中。
就像我们所知道,没有良好工程化作为基础,使用面向对象技术只会使项目变得更复杂。
003.提升软件质量方法
1.软件工程化
2.CMM能力成熟度模型CapabilityMaturityModelforSoftware
3.软件测试
004.软件测试目标和定义
软件测试目标决定了怎样去组织测试,在项目标不一样阶段,测试目标也不相同。
1.在UT(UnitTest)阶段,测试目标是为了尽可能多地找犯错误,那么UT阶段测试就应该直接针对软件比较复杂部分或是以前犯错比较多位置。
在此阶段,能够引用GrenfordJ.Myers在《TheArtofSoftwareTesting》一书中见解:
Ø
软件测试是为了发觉错误而实施程序过程;
测试是为了证实程序有错,而不是证实程序无错误。
好测试方案是极可能发觉迄今为止还未发觉错误测试方案;
成功测试是发觉了至今为止还未发觉错误测试。
这种见解能够提醒大家测试要以查找错误为中心,而不是为了演示软件正确功效。
不过仅凭字面意思了解这一见解可能会产生误导,认为发觉错误是软件测试唯一目标,查找不犯错误测试就是没有价值,事实并非如此。
首先,测试并不仅仅是为了要找犯错误。
经过分析错误产生原因和错误分布特征,能够帮助项目管理者发觉目前所采取软件过程缺点,方便改善。
同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试有效性。
其次,没有发觉错误测试也是有价值,完整测试是评定测试质量一个方法。
具体而严谨可靠性增加模型能够证实这一点。
2.SI测试阶段目标是为了给最终用户提供含有一定可信度质量评价,那么测试就应该直接针对在实际应用中会常常见到商业假设。
在这一阶段不仅要验证UT测试结果,检测出软件本身缺点,更关键是要站在用
户角度找出我们在软件开发过程中不合理地方,最终目标是让用户满意。
对于软件产品不一样角色来说,她们测试目标也是不一样。
用户:
经过测试来暴露错误
开发者:
经过测试来证实自己开发产品不存在错误
测试人员:
找出软件缺点,尽可能早部分,并确保其得以修复
测试从狭义上说,就是:
凭借测试用例TestCase→运行程序→发觉错误过程。
005.软件测试中标准
1.完全测试程序是不可能
在软件测试过程中,想要进行完全测试,找出全部软件缺点,并使软件臻于完美,实际上这是不可能,即使最简单程序也不行,关键有以下4个原因:
●输入量太大
●输出结果太多
●软件实现路径太多
●软件说明书没有客观标准。
从不一样角度看,软件缺点标准不一样。
2.软件测试是有风险行为
正因为完全测试程序是不可能,那么在测试过程中肯定会对一些你认为是反复或没必需或为了节省时间,而将其提出,假如决定不去测试全部情况,这就是选择了风险。
既然不可能做完全测试,那么这种风险就是无法避免了。
软件测试员要学会一个关键标准就是怎样把无边无际可能降低到能够控制范围,和怎样针对风险制订做出明智抉择,去粗存精。
3.测试无法显示潜伏软件缺点
软件测试工作和防疫员工作极为相同,能够汇报已发觉软件缺点,却无法汇报潜伏软件缺点。
你能够进行测试,查找并汇报软件缺点,不过不能确保软件缺点全部找到。
唯一方法是继续测试,可能还会找到部分。
4.找到软件缺点越多,就说明软件缺点越多
通常,软件测试员在没有找到软件缺点之前拼命地琢磨。
找到一个以后,就会接二连三地找到更多。
其中原因是:
●程序员怠倦。
和我们大家一样,程序员也要休假。
编写一天代码还不错,第二天就会烦躁不安了。
一个软件缺点很可能是泄露周围有更多软件缺点信号。
●程序员往往犯一样错误。
每个人全部有偏好。
一个程序员总是反复犯下自己轻易犯错误。
●一些软件缺点实际上是大灾难征兆。
软件设计或体系常常会出现基础问题。
软件测试员可能会发觉一些软件缺点开始似乎毫无关联,不过最终才知道它们是由一个极其严重原因造成。
不过,假如不管怎样也找不出软件缺点,那么也有可能是软件经过精心编制,确实存在极少软件缺点
5.反复使用相同测试会使软件含有抵御力
在测试过程中你会发觉经过多个回合测试以后,该发觉软件缺点全部被发觉了,在测试下去也不会有新发觉了。
这时,软件测试员,需要采取其它新方法,对程序不一样部分进行测试,以找出更多软件缺点。
6.并非全部软件缺点全部能修复
这要求软件测试员能过进行良好判定,搞清楚在什么情况下不能追求完美。
项目小组需要对每一个软件缺点进行取舍,依据风险决定哪些需要修复,哪些不要。
不需要修复软件缺点关键原因有:
●没有足够时间。
在任何一个项目中,通常是软件功效较多,而代码编写人员和软件测试人员较少,而且在项目进度中没有为编制和测试留出足够空间。
常常会在不可更改交付期限内,必需按时完成软件。
●不算真正软件缺点。
在一些特殊场所,错误了解、测试错误或说明书变更会把软件缺点看成附加功效来对待。
●修复风险太大。
修复一个软件缺点可能造成其它软件缺点出现;
在紧迫产品公布进度压力之外,修改软件将冒很大风险。
不去理会未知软件缺点,以避免出现未知新缺点做法可能是安全之道。
●不值得修复。
不常出现软件缺点和在不常见功效中出现软件缺点能够放过;
能够躲过和用户有措施预防或避免软件缺点通常不用修复。
这些全部要归结为商业风险决议。
7.要尽早、不停地进行测试
测试是无穷近,而测试时间又是有限,所以我们要尽早地开始测试,立即地找出软件缺点,方便降低修复成本。
在多个回合测试以后,没有再检测出BUG,不能说程序没有错误,只能说还没有找到错误,没有些人能够找出程序中全部错误,没有任何软件产品是完美无错,我们能做只是不停地进行测试。
8.测试用例能够帮助我们有效地进行测试
“好测试用例是极可能发觉迄今为止还未发觉错误测试用例”,可见测试用例对在软件测试中占有很关键地位,它能够填补软件测试员在测试时遗漏、偏差和经验上不足,给我们测试提供依据。
同时测试用例也是作为向用户提供质量确保关键依据之一。
9.程序员应避免测试自己程序
“自负”是影响程序质量原因之一,程序员测试目标是证实程序无错,基于这种心理,程序员是极难测试自己程序中BUG。
其次,程序员在了解式样时候难免会有偏差,假如测试自己程序是极难找出这些偏差。
10.正确和错误测试
软件测试员测试目标是要找出软件潜在错误和缺点,这里错误和缺点不仅指软件本身错误,还要检测软件对错误处理能力,所以我们在测试时候既要准备正确数据也要准备错误数据,通常来说测试错误CASE比正确CASE要多很多。
11.群集现象
在测试过程中,会发觉一些画面BUG尤其多,一些功效会出现BUG群集现象,所以要重视这些群集现象,而且立即采取对策。
12.杜绝随意性
软件测试时一定要有测试依据,测试人员不能根据自己想法凭空想象来评判对错。
软件测试员是用户眼睛,是第一次看到软件人,代表用户说话,应努力争取完美。
但努力争取完美同时,最好能全方面地客观评价,做到合情合理。
006.怎样成为一个好软件测试员
现在,大多数企业把软件测试视为技术工程专业工作。
她们意识到在项目组中培训软件测试员,并在开发过程中早期投入工作能够制造出质量更优软件。
下面是大多数软件测试员应含有素质:
●沟通能力。
一名理想测试者必需能够同测试包含到全部些人进行沟通,含有和技术(开发者)和非技术人员(用户,管理人员)交流能力。
既要能够和用户谈得来,又能同开发人员说得上话,不幸是这两类人没有共同语言。
和用户谈话关键必需放在系统能够正确地处理什么和不能够处理什么上。
而和开发者谈相同信息时,就必需将这些活重新组织以另一个方法表示出来,测试小组组员必需能够相同地同用户和开发者沟通。
●技术能力。
就总体言,开发人员对那些不懂技术人持一个轻视态度。
一旦测试小组某个组员作出了一个错误断定,那么她们可信度就会立即被传扬了出去。
一个测试者必需既明白被测软件系统概念又要会使用工程中那些工具。
要做到这一点需要有几年以上编程经验,前期开发经验能够帮助对软件开发过程有较深入了解,从开发人员角度正确评价测试者,简化自动测试工具编程学习曲线。
●自信心。
开发者指责测试者出了错是常有事,测试者必需对自己见解有足够自信心。
假如许可她人对自己指东指西,就不能完成什么更多事情了。
因为开发和测试立场不一样,面对问题时候测试人员要有自信坚持自己见解,而不能轻信开发人员说法。
●外交能力。
当你告诉某人她出了错时,就必需使用部分外交方法。
机智老练和外交手法有利于维护和开发人员协作关系,测试者在告诉开发者她软件有错误时,也一样需要一定外交手腕。
假如采取方法过于强硬,对测试者来说,在以后和开发部门合作方面就相当于“赢了战争却输了战役”。
●幽默感。
在碰到诡辩情况下,一个幽默批评将是很有帮助。
●很强记忆力。
一个理想测试者应该有能力将以前曾经碰到过类似错误从记忆深处挖掘出来,这一能力在测试过程中价值是无法衡量。
因为很多新出现问题和我们已经发觉问题相差无几。
●耐心。
部分质量确保工作需要难以置信耐心。
有时你需要花费惊人时间去分离、识别和分配一个错误。
这个工作是那些坐不住人无法完成。
●怀疑精神。
能够预料,开发者会尽她们最大努力将全部错误解释过去。
测式者必需听每个人说明,但她必需保持怀疑直到她自己看过以后。
●自我督促。
干测试工作很轻易使你变得懒散。
只有那些含有自我督促能力人才能够使自己天天正常地工作。
●洞察力。
一个好测试工程师含有“测试是为了破坏”见解,捕捉用户见解能力,强烈质量追求,对细节关注能力。
应用高风险区判定能力方便将有限测试针对关键步骤。
●不懈努力。
软件测试员总是不停尝试。
她们可能会碰到瞬间即逝或难以重建软件缺点。
她们不会心存侥幸,而是尽一切可能去寻求。
●发明性。
测试显而易见事实,那不是软件测试员。
她们工作是相处富有创意甚至超常手段来寻求软件缺点。
●追求完美。
她们努力争取完美,不过知道一些无法企立即,不去苛求,而是尽力靠近目标。
●判定正确。
软件测试员要决定测试内容、测试时间,和看到问题是否算作真正缺点。
●说服力。
软件测试员找出软件缺点有是被人认为不关键,不用修复。
测试员要善于表示见解,表明软件缺点为何须需修复,并经过实际演示力陈见解。
软件测试员一个基础素质是打破砂锅问到底。
她们喜爱找出那些深藏不露系统冲突。
她们乐于处理最复杂问题。
她们外表上热衷于往返奔忙,追求尽善尽美。
软件测试员任务是检验和批评同事工作,挑毛病,公布发觉问题。
这么难免和项目组中其它人员会产生摩擦,下面是保持小组组员和睦提议:
●早点找出软件缺点。
这是软件测试员当然任务,不过不轻易做到。
在三个月之前而不是在产品立即公布前夕找出严重软件缺点,会产生更小影响,更轻易让人接收。
●控制情绪。
诚然,软件测试员真心喜爱自己工作,当发觉严重软件缺点时乐不自胜。
不过,假如兴冲冲地闯进程序员同事房间告诉她程序中存在不可救药软件缺点,她不会快乐。
不要总是汇报坏消息。
假如意外发觉一些代码没有软件缺点,就大声宣扬。
花部分时间找程序员聊聊天。
假如总是汇报坏消息,她人就会惟恐避之不及。
007.软件测试阶段划分
1.单体测试
单元测试对象是软件设计最小单位——模块。
单元测试依据是具体设描述,单元测试应对模块内全部关键控制路径设计测试用例,方便发觉模块内部错误。
单元测试时,系统内多个模块能够并行地进行测试。
在这个测试阶段所发觉往往是编码和具体设计错误。
2.结合测试
也能够称作“集成测试”,是组装软件系统测试技术,按设计要求把经过单元测试各个模块组装在一起以后,进行综合测试方便发觉和接口相关多种错误。
3.系统测试
系统测试应该由若干个不一样测试组成,目标是充足运行系统,验证系统各部件是否全部能正常工作并完成所给予任务。
系统测试关键有以下多个类型:
●恢复测试:
关键检验系统容错能力。
●安全测试:
检验系统对非法侵入防范能力。
●强度测试:
检验程序对异常情况抵御能力。
●性能测试:
检验测试数据在超负荷环境中运行,程序是否能够负担。
4.回归测试
确定软件修改和变更后仍然满足全部软件要求。
回归测试是有选择地反复已经有确实定测试,而不开发新测试。
回归测试需要针对修改或变更程序进行验证,而且对该程序修正或变更相关功效点进行验证。
回归测试不是一个独立测试阶段,是贯穿在全部测试阶段中反复进行过程。
008.测试用例设计方法
测试用例是为特定目标而设计一组测试输入、实施条件和预期结果。
简单说,测试用例就是设计一个场景,使软件程序在这种场景下,必需能够正常运行而且达成程序所包含实施结果。
测试用例设计方法和测试基础方法有类似之处,测试用例是对软件测试设计,然后基于测试用例来进行软件测试实施。
01.测试用例特征:
1.最有可能抓住错误
2.不是反复、多出
3.一组相同测试用例中最有效
4.既不是太简单,也不是太复杂
02.测试用例设计标准
1.测试用例代表性:
能够代表并覆盖多种合理和不合理、正当和非法、边界和越界和极限输入数据、操作和环境等。
2.测试结果可判定性:
即测试实施结果正确性是可判定,每一个测试用例全部应有对应期望结果。
3.测试结果可再现性:
即对一样测试用例,系统实施结果应该是相同。
03.等价类划分方法
1.定义
是把全部可能输入数据,即程序输入域划分成若干部分(子集),然后从每一个子集中选择少数含有代表性数据作为测试用例。
该方法是一个关键,常见黑盒测试用例设计方法。
2.划分等价类:
等价类是指某个输入域子集合。
在该子集合中,各个输入数据对于揭露程序中错误全部是等效,并合理地假定:
测试某等价类代表值就等于对这一类其它值测试,所以,能够把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试输入条件就能够用少许代表性测试数据取得很好测试结果。
等价类划分可有两种不一样情况:
有效等价类和无效等价类。
1)有效等价类
是指对于程序规格说明来说是合理、有意义输入数据组成集合。
利用有效等价类可检验程序是否实现了规格说明中所要求功效和性能。
2)无效等价类
和有效等价类定义恰巧相反。
无效等价类指对程序规格说明是不合理或无意义输入数据所组成集合。
对于具体问题,无效等价类最少应有一个,也可能有多个。
设计测试用例时,要同时考虑这两种等价类。
因为软件不仅要能接收合理数据,也要能经受意外考验,这么测试才能确保软件含有更高可靠性。
3.划分等价类标准:
1)完备测试、避免冗余;
2)划分等价类关键是:
集合划分,划分为互不相交一组子集,而子集并是整个集合;
3)并是整个集合:
完备性;
4)子集互不相交:
确保一个形式无冗余性;
5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"
相同实施路径"
。
4.划分等价类方法
6)在输入条件要求了取值范围或值个数情况下,则能够确立一个有效等价类和两个无效等价类。
如:
输入值是学生成绩,范围是0~100;
7)在输入条件要求了输入值集合或要求了"
必需怎样"
条件情况下,可确立一个有效等价类和一个无效等价类;
8)在输入条件是一个布尔量情况下,可确定一个有效等价类和一个无效等价类。
9)在要求了输入数据一组值(假定n个),而且程序要对每一个输入值分别处理情况下,可确立n个有效等价类和一个无效等价类。
例:
输入条件说明学历可为:
专科、本科、硕士、博士四种之一,则分别取这四种这四个值作为四个有效等价类,另外把四种学历之外任何学历作为无效等价类。
10)在要求了输入数据必需遵守规则情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不一样角度违反规则);
11)在确知已划分等价类中各元素在程序处理中方法不一样情况下,则应再将该等价类深入划分为更小等价类。
5.设计测试用例
在确立了等价类后,可建立等价类表,列出全部划分出等价类输入条件:
有效等价类、无效等价类,然后从划分出等价类中按以下三个标准设计测试用例:
1)为每一个等价类要求一个唯一编号;
2)设计一个新测试用例,使其尽可能多地覆盖还未被覆盖地有效等价类,反复这一步,直到全部有效等价类全部被覆盖为止;
3)设计一个新测试用例,使其仅覆盖一个还未被覆盖无效等价类,反复这一步,直到全部无效等价类全部被覆盖为止。
04.边界值分析方法
边界值分析法就是对输入或输出边界值进行测试一个黑盒测试方法。
通常边界值分析法是作为对等价类划分法补充,这种情况下,其测试用例来自等价类边界。
1.和等价划分区分
1)边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类每个边界全部要作为测试条件。
2)边界值分析不仅考虑输入条件,还要考虑输出空间产生测试情况。
2.边界值分析方法考虑:
长久测试工作经验告诉我们,大量错误是发生在输入或输出范围边界上,而不是发生在输入输出范围内部。
所以针对多种边界情况设计测试用例,能够查出更多错误。
使用边界值分析方法设计测试用例,首先应确定边界情况。
通常输入和输出等价类边界,就是应着重测试边界情况。
应该选择恰好等于,刚刚大于或刚刚小于边界值作为测试数据,而不是选择等价类中经典值或任意值作为测试数据。
3.常见边界值
1)对16-bit整数而言32767和-32768是边界
2)屏幕上光标在最左上、最右下位置
3)报表第一行和最终一行
4)数组元素第一个和最终一个
5)循环第0次、第1次和倒数第2次、最终一次
4.边界值分析
1)边界值分析使用和等价类划分法相同划分,只是边界值分析假定错误更多地存在于划分边界上,所以在等价类边界上和两侧情况设计测试用例。
2)等价类划分:
I.能够考虑作出以下划分:
a、输入(i)<
0和(ii)>
=0
b、输出(a)>
=0和(b)Error
II.测试用例有两个:
a、输入4,输出2。
对应于(ii)和(a)。
c、输入-10,输出0和错误提醒。
对应于(i)和(b)。
3)边界值分析:
划分(ii)边界为0和最大正实数;
划分(i)边界为最小负实数和0。
由此得到以下测试用例:
a、输入{最小负实数}
b、输入{绝对值很小负数}
c、输入0
d、输入{绝对值很小正数}
e、输入{最大正实数}
4)通常情况下,软件测试所包含边界检验有多个类型:
数字、字符、位置、重量、大小、速度、方位、尺寸、空间等。
5)对应地,以上类型边界值应该在:
最大/最小、首位/末位、上/下、最快/最慢、最高/最低、
最短/最长、空/满等情况下。
6)利用边界值作为测试数据
项
边界值
测试用例设计思绪
字符
起始-1个字符/结束+1个字符
假设一个文本输入区域许可输入1个到255个字符,输入1个和255个字符作为有效等价类;
输入0个和256个字符作为无效等价类,这多个数值全部属于边界条件值。
数值
最小值-1/最大值+1
假设某软件数据输入域要求输入5位数据值,能够使用10000作为最小值、99999作为最大值;
然后使用刚好小于5位和大于5位数值来作为边界条件。
空间
小于空余空间一点/大于满空间一点
比如在用U盘存放数据时,使用比剩下磁盘空间大一点(几KB)文件作为边界条件。
7)内部边界值分析:
在多数情况下,边界值条件是基于应用程序功效设计而需要考虑原因,能够从软件规格说明或常识中得到,也是最终用户能够很轻易发觉问题。
然而,在测试用例设计过程中,一些边界值条件是不需要展现给用户,或说用户是极难注意到,但同时确实属于检验范围内边界条件,称为内部边界值条件或子边界值条件。
内部边界值条件关键有下面多个:
a)数值边界值检验:
计算机是基于二进制进行工作,所以,软件任何数值运算全部有一定范围限制。
范围或值
位(bit)
0或1
字节(byte)
0~255
字(word)
0~65535(单字)或0~(双字)
千(K)
1024
兆(M)
1048576
吉(G)
b)字符边界值检验:
在计算机软件中,字符也是很关键表示元素,其中ASCII和Unicode是常见编码方法。
下表中列出了部分常见字符对应ASCII码值。
ASCII码值
空(null)
A
65
空格(space)
32
a
97
斜杠(/)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 作业 指导 说明书