在使用软件的经历中,你对软件缺陷有什么真实的体验
软件缺陷我想你指的应该是BUG,这是编程里没有考虑到的现象,比如某一参数溢出.这是软件长见现象,软件越大,存在的BUG越多,只不过我们没有让他达到溢出的环境.
软件缺陷有哪些表现
常见的软件缺陷有以下四种:
第一,栈溢出。就是在栈中申请一段内存,一般是数组或字符串,在对这段内存做操作的时候,错误的写操作可能导致栈中也特殊意义的地址被用户的输入内容所控制。最早发现是一些字符串操作的函数中,比如strcat,后来又发现在Strncpy如果不正常操作的话也会出现这个问题。最后有一个Windows UNicode处理的函数如果不正常使用也会出现这样的问题。下面介绍的是整数溢出的问题。
整数溢出是多发于的情况,特别是一些加、乘的操作出现在内存前面就要特别注意了。加或者乘出来的数不一定比原先两个数大。还有一个正负数比较的问题,或者是符号扩展的问题。即使现在这个问题仍存在于很多软件中。但是在很多流行软件中已经很少出现了,比如微软的软件、国外大公司的软件。但是在国内软件这个问题依然是很多的。这个问题在JAVA软件中也经常存在。例如银行系统,系统错误处理,把别人帐号上扣掉的金额,一个正的金额加到你的帐号上。
第二, heap overflow。这是现代程序C语言主要申请分配方法,所以他比栈溢出比例大的多。微软做了很多防护措施,所以它利用起来是非常复杂的。尤其是 WindowsXP2之后的版本,比如vista。堆管理主要利用两张表,freelist、lookaside,freelist[0]代表着一些不规则的可以利用的chunk,尤其是比较大的chunk。freelist[1] – freelist[n]代表2的整数次方可以利用的堆中的chunk。利用这样堆溢出的问题,你需要对Windows堆管理非常熟悉。比如有人通过 freelist[0]这个链表成功利用。目前有一个immdbg的程序对这种研究利用是很有帮助的。因为他把堆分配的内容都可以显示出来。对vista 软件的攻击,理论上应该是不存在的。因为vista对堆管理有严格控制,但是有很多软件使用自己的内存管理方法,比如OFFICE,他们自己堆管理方法和内存方法是和vista不一样的,这些方法往往采用教科书的方法或者以前系统的方法,所以他们这些方法是有可能被利用起来。
第三,未初始化的问题。栈上的问题由德国人在06年详细讨论过。头一次压栈的时候,在栈上写需要内容,然后函数退出,导致栈顶上移,有问题的函数压栈时正好利用这段栈空间,如果函数中发现了未初始化问题,比如数组,那么其内容刚好是我们刚写入的内容的栈空间,就可能被利用。先把堆里的大部分内容写成自己需要的内容,未初始问题发生时,比如堆里指针的内容就可能指向我们需要的内容。目前这个问题是大量存在的,OFFICE存在了很多。比如这个月微软补丁,excel那一个补丁里就包括很多这样的问题。你可以对比新旧的OFFICE软件,你发现 OFFICE2007有一些新加的代码就是做初始化工作的。
第四,二次释放或者叫double free问题。内存泄露是现代软件大敌,特别是服务器软件。有很多程序员害怕发生这样的问题,申请内存时总是想释放它,结果释放多了几次,这样也会有安全问题。曾经在linux上的方法很巧妙、经典,但是在目前Windows上比较难以利用。很多软件采用自己管理内存方法,那么就很可能被利用到。
软件测试中软件缺陷有哪些表现
不符合用户需求的就是缺陷
列举你使用的软件的缺陷有哪些
优点是针对性强,方便快捷.缺点是使用的人少没有破解版,价格昂贵
软件缺陷( Software Bug )的具体含义包括几个因素
软件缺陷:
软件未达到产品设计规范表明的功能;
软件出现了产品设计规范指明不会出现的错误;
软件功能超出产品设计规范指明的范围;
软件未达到产品设计规范虽未指出但应达到的目标;
软件测试人员认为软件难以理解、不易使用、运行速度慢,或者最终用户认为不好。
你应该也想知道软件错误吧
计算、观察、测量的值或条件与实际的、规定的或理论上的值或条件不符合;
导致产生含有缺陷的软件的人为行动。
例如,遗漏或误解软件说明书中的用户需求,不正确的翻译或遗漏设计规格说明书中的需求。
上面的统称软件故障
提交高质量的软件缺陷记录,你们使用CQ吗,还是buglist,觉得故障定级要准确,对于随机性出现的错误一定要做好记录,这个最好截图,有些错误真的就出现一次,如果条件允许,你出故障的时候,比如一级故障,截个图,就可以叫研发人员过来看,然后注意老员工的提交记录,学习他们的规范和思考方式,特别要和研发人员保持好关系,否则别人直接无视你的报告,如果你是女的还好,别人不好意思说你,你是男的,直接藐视了,特别注意不要提太多的bug,写bug记录的时候也要站在研发的角度,提出解决方法,建议他们作修改,我的一些个人意见,希望对你有帮助。
nod32这个杀毒软件缺点是什么 真实点
由Virus Bulletin开发 个人感觉不好用,界面设置不怎么合理,看着界面感觉很压抑. 假如你追求杀毒迅速准确、系统占有率少,能克服界面不怎么样而且杀毒方式单一的问题,可以考虑用它,其实NOD32就是吹得很厉害,实际上它的防毒效果基本没有,而且大家杀不出来的毒它也杀不出.
软件缺陷的简介
软件缺陷(Defect),常常又被叫做Bug.所谓软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷.缺陷的存在会导致软件产品在某种程度上不能满足用户的需要.IEEE729-1983对缺陷有一个标准的定义:从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背.在软件开发生命周期的后期,修复检测到的软件错误的成本较高.
软件缺陷包括哪些内容?
软件危机是计算机软件在它的开发和维护中所遇到的一系列严重问题 软件缺陷是不是软件开发存在的问题 是客户使用过程中出现的问题 主要有:软件成本和进度的估计常常很不准确 用户对“已经完成的”软件系统不满意 软件产品的质量靠不住 软件是不可维护的 软件没有适当的文档资料 软件成本在计算机系统总成本中所占的比例逐年上升
什么叫做软件缺陷啊?
软件漏洞 被安装了后门 也就是木马程序可以利用的漏洞`
一般我们都认为测出一个问题就是一个bug,其实这是不对的,假设测试10个问题就10个bug,而修改一出就全解决了,程序员肯定认为冤枉自己。
所有软件是文档,代码等组成的,最初的错误是来自于这些软件错误(software error),如代码中加法写成减法。软件错误导致软件缺陷(software defect),如设计缺陷,代码缺陷等,可用静态测试,如走查,静态检查,测试床(军事软件用的技术)等,软件的缺陷导致一个或多个软件故障 (software fault),故障有内部故障,外部故障,也就是我们所说的bug,软件故障导致了软件在功能操作等方面的失效(software failure)。
我们平时测的bug实际上是软件故障于失效的体现。一旦软件错误得到修改,相应的故障与失效也就解除了。这样分有助于我们定位问题,找到问题。
详见《软件可靠性工程》
软件缺陷的严重性和优先级是什么
严重性(Severity)是软件缺陷对软件质量的破坏程度. 优先级(Priority)是表示处理和修正软件缺陷的先后顺序.