软件测试涉及的关键问题如下:测试由谁来执行、测试什么、什么时候进行测试、怎样进行测试。
数字化时代,是“软件定义一切”的时代,软件已然成为人类社会基础设施的一部分,与个人生活、社会民生、国家发展高度融合。随着软件产业的快速发展,因软件存在的缺陷而导致的网络安全问题越来越严重。
CNVD已收录各类安全漏洞信息超16.6万条,为了保证软件产品的最终质量,在软件开发的过程中,需要对软件产品进行系统测试。软件测试是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量。
通过对软件功能、性能、安全、可靠性、兼容性等多个层面进行测试,提出优化建议,出具第三方专业权威的测试报告。包括软件功能测试、软件性能测试、应用安全测试、软件验收测试、代码测试、国产平台软件适配测试等。
同时,测试是以评价一个程序或者系统属性为目标的活动,测试是对软件质量的度量和评估,以验证软件的质量满足用户的需求的程度,为用户选择和接收软件提供有力依据。
软件测试的方法
1、静态测试:指通过软件的静态性测试测试程序中运算方式、算法的正确性,进而完成测试过程,此类测试的优点在于能够消耗较短时间、较少资源,能够较为明显地发现错误。
2、动态测试:主要依赖程序的运用,检测软件中动态行为是否缺失、软件运行效果是否良好。其最为明显的特征即为进行动态测试时软件为运转状态。
3、黑盒测试:通过数据输入观察数据输出,检查软件内部功能是否正常。测试展开时,数据输入软件中,等待数据输出。
4、白盒测试:相对于黑盒测试而言具有一定透明性,测试过程中常将其与软件内部结构协同展开分析。
1)明确测试的目标,增强测试计划的实用性
编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确
2)坚持“5W”规则,明确内容与过程
“5W”规则指的是“What(做什么)”、“Why(为什么做)”、“When(何时做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)。
3)采用评审和更新机制,保证测试计划满足实际需求
测试计划写作完成后,如果没有经过评审,直接发送给软件测试团队,测试计划内容的可能不准确或遗漏测试内容,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更新,误导测试执行人员。
4)分别创建测试计划与测试详细规格、测试用例
应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。
随着企业对软件测试项目的重视,越来越多的零基础的人也开始加入到软件测试的求职浪潮之中。今天,我们就给大家简单分析了在软件测试行业中需要了解的一些常见问题。
1、测试负责人要进行严格的测试进度跟踪吗?
很多时候,由于人力资源的不足,测试项目负责人都是在执行测试,这样就使整个项目缺乏控制,一些问题(例如:有些成员的缺陷质量不够合格;开发人员修改不及时,系统某些功能发生严重问题导致部分功能无法测试。)得不到解决,耽误了进度。所以测试负责任必须全程监控项目,尽可能多的掌握信息。通常,测试负责人需要完成下面这些内容的管理工作:测试用例执行情况;每个测试员提交的缺陷情况;测试中是否发生突发问题。
2、测试也有版本控制吗?
这里的版本主要是指测试对象的版本控制,也就是指对开发部提交的产品进行版本控制。在开发小组版本管理不规范的情况下,测试小组进行版本控制十分重要,要保证测试对象是可以控制的。建议开发和测试双方进行明确的约定,可以各自指定专门的测试版本负责人,制定提交原则,对提交情况进行详细的记录,这样基本避免了版本失控导致的测试失误或无效。
3、如何处理测试人员的流动问题?
人员流动不仅仅是测试部门,这是IT行业的普遍现象。从管理者角度,主管需要多多和团队内成员进行沟通,建立一个融洽的团队环境,及时掌握情况,可以早些进行相应的调整。但是只有企业建立好的用人制度,给员工提高广阔的发展空间和好的培训学习机会,才能从根本上解决这一问题。加强项目管理,强化文档管理并保证文档的有效性,可以大大减少由于人员流失带来的损失。同时,测试部门要建立培训机制,使新到员工接受直接或者间接的培训,快速适应工作。
4、为什么开发人员经常抱怨测试工程师提交的缺陷质量太差?
我们经常听开发人员说:“这不是缺陷!”,“这个缺陷没有,因为我的系统上运行正常!”。测试工程师本身就是做质量工作的,提交的成果本身就应该质量高些,为什么还会有这种现象?提交的缺陷引起争议是一种正常的现象,例如测试人员描述不清楚就会引起争议。减少甚至避免这种现象的方法是交叉测试,交叉测试是提高测试质量的一个有效手段,当然交叉测试会增加一定的测试成本投入。IT培训发现在测试任务完成后,测试工程师之间互相验证彼此提交的缺陷,就会避免了缺陷描述不清、因运行环境而产生的缺陷等一系列问题,从而大大降低了回归测试以及交流的成本,因而这种投入也是值得的,实际开发人员在单元测试阶段也会进行交叉测试,来提高开发质量。另外,测试人员一定要按照规范描述测试中发现的缺陷,一个缺陷至少描述清楚概要描述、详细描述、重现步骤三方面的内容,缺陷管理参考八章的内容。
软件测试的主要目的在于发现软件存在的错误(Bug),对于如何处理测试中发现的错误,将直接影响到测试的效果。只有正确、迅速、准确地处理这些错误,才能消除软件错误,保证要发布的软件符合需求设计的目标。云南IT培训http://www.kmbdqn.cn/建议在实际软件测试过程中,对于每个Bug都要经过测试、确认、修复、验证等的管理过程,这是软件测试的重要环节。
错误跟踪管理系统为了正确跟踪每个软件错误的处理过程,通常将软件测试发现的每个错误作为一条条记录输入制定的错误跟踪管理系统。
目前已有的缺陷跟踪管理软件包括Compuware公司的TrackRecord软件(商业软件)、Mozilla公司的Buzilla软件(免费软件),以及国内的微创公司的BMS软件,这些软件在功能上各有特点,可以根据实际情况选用。当然,也可以自己开发缺陷跟踪软件,例如基于Notes或是ClearQuese开发缺陷跟踪管理软件。
作为一个缺陷跟踪管理系统,需要正确设计每个错误的包含信息的字段内容和记录错误的处理信息的全部内容。字段内容可能包括测试软件名称,测试版本号,测试人名称,测试事件,测试软件和硬件配置环境,发现软件错误的类型,错误的严重等级,详细步骤,必要的附图,测试注释。处理信息包括处理者姓名,处理时间,处理步骤,错误记录的当前状态。
正确的数据库权限管理是错误跟踪管理系统的重要考虑要素,一般要保证对于添加的错误不能从数据库中删除。
软件错误的状态新信息(New):测试中新报告的软件缺陷;打开(Open):被确认并分配给相关开发人员处理;修正(Fixed):开发人员已完成修正,等待测试人员验证;拒绝(Declined):拒绝修改缺陷;延期(Deferred):不在当前版本修复的错误,下一版修复关闭(Closed):错误已被修复;Bug管理的一般流程测试人员提交新的Bug入库,错误状态为New.高级测试人员验证错误,如果确认是错误,分配给相应的开发人员,设置状态为Open.如果不是错误,则拒绝,设置为Declined状态。
以上就是小编为大家整理的关于软件测试涉及哪几个关键问题的全部内容,更多相关知识请持续关注学分高考!(本文共6693字)
微信扫码关注公众号
获取更多考试热门资料