计算机软件测试方法(精选12篇)
计算机软件测试方法 篇1
随着科技和时代的发展, 软件的规模和复杂度越来越大, 从而对软件质量提出更高的要求。为满足用户日趋复杂的需求, 软件开发趋向繁琐化和复杂化, 软件投入使用的过程中出现漏洞和缺陷的数量也在不断增加, 所以, 采用高效的软件测试是软件质量、可靠性和稳定性的重要保证。通过调查相关数据了解, 目前, 软件测试的工作量在整个软件开发工作总量中的比重达到了40%以上, 对于测试的成本投入也达到软件开发总额的50%。可以说软件测试是软件开发过程必不可少的环节, 软件测试的成功对软件开发的成功具有决定性的意义。
软件测试是一个破坏性、重复性的过程, 其目的是以尽量少的时间和资源尽早的找出软件中潜在的错误和缺陷。通过分析错误和缺陷产生的原因及分布特征, 可以帮助项目管理人员发现软件开发过程的不足, 以便过程改进。同时, 也有利于设计出高效的、有针对性的测试用例。
1 测试的主要方法
1.1 黑盒测试和白盒测试
依据是否了解程序代码内部实现方式, 测试方法可分为黑盒测试和白盒测试。黑盒测试是把程序看作一个不能打开的黑盒子, 在完全不考虑程序内部结构和内部特性的情况下, 在程序接口进行测试, 它只检查程序功能是否按照需求规格说明书的规定正常工作, 程序是否能正确接收输入数据而产生正确的输出信息。主要针对软件界面和软件功能进行测试。在实际操作中, 测试人员既需要测试正确的输入信号, 还需要测试不正确的输入信号, 以测试软件对错误的处理能力。当输入错误信号时, 软件系统应友好的提示用户, 而不能出现系统崩溃、用户数据丢失等现象。
白盒测试是按照程序内部的结构测试程序, 检测程序内部动作是否按照设计规格说明书的规定正常进行, 检验程序中的每条通路是否都能按预定要求正确工作。这一方法是把测试对象看作一个打开的盒子, 测试人员依据程序内部逻辑结构相关信息, 设计或选择测试用例, 对程序逻辑路径进行测试, 通过在不同点检查程序的状态, 确定实际的状态是否与预期的状态一致。
1.2 错误驱动测试
通过性的功能测试仅能测试系统已实现的功能的正确性, 而对系统容错能力却无法测试。在用户实际使用的过程中, 会有大量的不正确的输入, 此时系统能否对不正确的输入进行容错处理?基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例进行测试就是错误驱动测试。
1.3 回归测试
软件测试是一个发现错误和改正错误不断循环的过程。由于程序的复杂性, 各个模块及元素 (变量、函数、类) 之间存在着相互关联性、耦合性, 因此对于改正后的错误, 需要测试验证。一方面验证错误是否已被修改, 另一方面检查对错误的修改是否影响其它模块产生新的错误, 这就需要将已执行过的测试用例重新执行, 这就是回归测试。
2 软件测试的流程
2.1 单元测试
单元测试是软件开发过程中对程序最小可测单元进行的测试活动。其目的在于根据详细设计说明书, 从程序的内部结构出发, 检查每个程序单元是否正确实现详细设计说明书中的模块功能、性能、接口和设计约束等要求。
单元测试是在程序单元的代码编写完成, 确认没有语法错误之后由程序员进行, 根据详细设计说明书和源程序清单, 对该模块的逻辑结构, 程序内部分支路径进行测试, 来发现和修改代码编写过程中的错误。主要采用白盒测试和黑盒测试相结合的方式进行测试, 使之对任何合理的和不合理的输入, 都能鉴别和响应。单元测试的主要内容包括接口测试、功能测试、局部数据结构、覆盖条件、执行路径测试、出错处理、边界测试等。
2.2 集成测试
集成测试在单元测试的基础上, 将两个或多个模块按照概要设计说明书的要求有序的、递增的组装成子系统, 对这个子系统进行测试。集成测试, 着眼于测试当各个模块连接起来的时侯, 穿越模块接口的数据是否会丢失, 一个模块的功能是否会对另一个模块的功能产生不利的影响, 各个子功能组合起来, 能否达到预期要求的父功能, 全局数据结构是否有问题, 单个模块的误差累积起来, 是否会放大, 从而达到不能接受的程度。集成测试多采用增量式组装测试, 增量式测试是一种可行性比较高的方法。增量式测试又分为自底向上和自顶向下两种测试方式。
自顶向下测试从程序的顶点模块开始, 然后逐步组装下一级的模块进行测试。为了模拟被测试模块的下一级模块, 需要构建哑模块或桩子模块。它从主控模块开始, 按照软件的控制层次结构, 以广度优先或者深度优先的策略, 把各个单元模块组装集成在一起。自顶向下测试的主要好处就是较早地验证了主要控制点和判断点, 按深度优先可以首先实现和验证一个完整的软件功能, 功能能够较早获得证实, 带来信心, 只需一个驱动, 减少驱动器开发的成本, 支持故障隔离, 它可以让人们看见系统的早期版本并证明系统的正确性。主要缺点是需要桩子模块, 底层验证被推迟, 底层组件测试不充分。
自底向上测试策略从程序的最底层模块开始。为了模拟上一层的模块需要开发一定的驱动模块。当对所有的低一层模块测试完毕才对高一层模块组合进行测试。自底向上测试方法的优点是测试数据的建立不存在困难, 对底层组件行为较早验证, 工作最初可以并行集成, 比自顶向下效率高, 减少了桩的工作量, 支持故障隔离。驱动模块模拟所有的调用参数, 如果关键模块位于调用模块的底部, 则自底向上测试方法更优。自底向上测试的主要缺点是系统的早期版本直到最后模块测试完毕才产生, 驱动的开发工作量大, 对高层模块的验证被推迟, 设计上的错误不能被及时发现, 因为不可在底层模块设计之前进行测试。
当各单元被分别测试后, 集成测试根据设计阶段形成的功能分解树, 自顶向下或自底向上逐步用各个单元来替换桩和驱动程序。集成测试一般在完成了软件的所有或大部分编码, 并且完成单元测试工作后, 由各单元模块开发人员一起完成。一般采用白盒测试与黑盒测试相结合的方法。
2.3 系统测试
系统测试是将软件系统与计算机硬件、外设、其它系统软件、数据和人员等其它系统元素结合在一起, 依据需求规格说明书, 发现软件不符合需求规格说明书的地方。系统测试的测试用例是根据需求规格说明书来设计, 并模拟用户使用环境来执行。系统测试的内容极其广泛, 包括功能测试、容错性测试、性能测试、压力测试、协议测试、安全性测试、兼容性测试、稳定性测试等等。通常采用黑盒测试。
2.4 验收测试
验收测试是按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评审, 决定是否接收或拒收系统。验收测试是为了向用户证明软件已经实现需求规格说明书所定义的功能和要求, 软件能正确的、安全的、按照预定要求的为用户服务。测试重点主要是软件是否实现用户需求, 而不是针对功能进行的测试。所以验收测试不需要专业的测试技术, 也可以是使用该产品的最终用户来体验该软件是否能够满足使用要求, 也可以由开发团队和用户方以外的第三方按照用户需求规格说明书来跟踪和测试软件是否能实现需求。
3 软件测试的展望
随着国家信息化和软件行业的发展, 软件系统的规模越来越大, 国内外的软件开发企业和软件用户越来越重视软件质量, 软件企业已经建立了独立的软件测试和质量保证部门, 并配置了专职的测试和质量保证人员, 并且在软件行业中已经出现了独立的第三方软件评测机构, 软件测试作为一个独立的专业和行业正逐步走向成熟。在今后的软件系统开发中, 软件测试工作将不再局限于单元测试、集成测试、系统测试和验收测试, 而会将测试工作进一步前移, 对需求的精确性和完整性的测试技术, 对系统设计的测试技术将成为新的研究热点。
参考文献
[1]陈明.软件测试技术[M].北京:清华大学出版社, 2011.
[2]朱寅非.软件测试在软件开发过程中的应用探析[J].无线互联科技, 2013 (5) .
[3]刘学超, 吴晓婷.浅谈软件测试行业的发展与前景[J].无线互联科技, 2014 (8) .
计算机软件测试方法 篇2
计算机内部操作系统受到攻击后,容易面临着数据丢失以及软件被破坏等各类威胁,情况严重的甚至会致使系统瘫痪,给用户带来极大的经济损失。而文章则主要针对计算機应用过程中恶意软件攻击的危害性进行探讨,提出了自身的见解,希望计算机护理加强防范,提高防范意识,并从根源上避免恶意软件的侵袭。
1 恶意软件类型及特点
1.1 主要类型
使用计算机的过程中,容易出现各类的安全威胁,恶意软件攻击可能是其中的典型,软件攻击难以被用户及时发现,选择潜伏在用户的计算机内选择性的删除或篡改用户的重要信息。简而言之,恶意软件的攻击将会给计算机系统造成巨大安全威胁,甚至给用户带来巨额经济损失。虽说部分用户以针对性的安装了防范程序,但却难以有效控制恶意软件的侵袭。值得一提的是,常见的恶意软件有以下几类:广告软件、浏览器劫持以及间谍软件?等等。
1.2 恶意软件的危害
第一,恶意软件可以劫持浏览器。用户在应用计算机的过程中很容易受恶意软件的攻击,直接劫持用户浏览器,修改其主页,并改变网络连接设置方式,更为严重的攻击甚至会导致计算机网络连接中断,给用户造成极大不便。
第二,恶意软件可强制安装。很多时候,开发商受利益驱使就会在软件中绑定强制程序,此时用户为不知情的状态,这部分程序将导致计算机运行速度减缓,无法满足用户的应用需求,最后用户不得不选择二次维修,满足了开发商的一己私欲。这样的强制安装行为无疑损害了用户的自主选择,同时也是极其恶劣的行为[1-3]。
第三,软件安装后无法卸载。在应用计算机的过程中,软件是极其重要的内容,通过软件可以辅助工作、学习,提高效率。但是,在软件下载的环节很多时候下载的均为携带病毒的软件,导致软件无法卸载,此类流氓是恶意软件如被用户安装,将会给用户造成诸多不便,同时还会带来许多困难,浪费了用户的精力,也消耗了用户的大量时间。
计算机软件的保护方法探讨 篇3
【关键词】计算机软件;法律体制;保护;思路
0.引言
面对如今早已到来的知识经济时代,中国的IT(Information & Technology)产业正在迅猛的发展。随着计算机行业的大力发展以及网络的全球普及,信息和技术产业的发展在计算机软件上表现得尤为突出,优秀的计算机软件更是推动知识和技术的发展。为了确保软件产业的正确发展方向,建立健全完备的保障制度就尤为重要。随着计算机软件产业的不断发展,软件的知识产权保护问题尤其是软件著作权的保护问题日益突出,更引起了中国乃至全世界诸多学者的关注。
1.计算机软件的概念以及特点
当前世界上并没有计算机软件的具体定义,计算机软件的概念更多的是对世界产权组织(WIPO)所提出概念的引申以及修改即:“包括计算机程序、程序描述以及所有辅助性资料”。大多数国家原则上采用世界知识产权组织(WIPO)的意见,并结合各国的实际情况加以修改。我国对计算机软件的定义在原则上与世界知识产权组织的定义大体一致。在2002年制定的《计算机软件保护条例》中,计算机软件被解释为:“程序与相关文档的组合”。
计算机软件有着区别其他知识产权客体的鲜明特点。
(1)具有作品性和工具性两重特点。
(2)价值含量高,运用范围广泛。
(3)升级更新快。
(4)开发成本高,易被复制篡改。
(5)国际流通广泛。
计算机软件区别其他知识产权客体的独特性理所当然也决定了在保护制度和措施方面的具体对待。
2.计算机软件保护现状以及存在的问题
中国早已在计算机软件的保护上提供了法律的保障。1991年《中华人民共和国著作权法》首次将计算机软件正式纳入著作权保护体系;1991在《著作权法》之下制定《计算机软件保护条例》开始实施,并在2002年重新修订生效。依照新条例中的规定,软件的受法律保护程度从某些方面甚至超过其他受《著作权法》保护的项目。尽管如此,我国在计算机软件的保护上依然存在诸多缺陷。
2.1法律体制不健全
首先,《计算机软件保护条例》是作为行政法规而颁布实施,并没有通过全国人大认可而成上升至一般法,这使得该条例在法律效力上低于一般法律。其次,《计算机软件保护条例》是对《著作权法》在计算机软件保护方面的补充,但是由于自身特点与《著作权法》保护的其他项目有明显区别,理所当然的会与《著作权法》存在冲突现象。第三,在授予计算机程序专利权过程中,只针对软件本身却没有将解决问题的方法纳入专利,从而造成部分专利权人垄断那些实际上是人们通行的做法或思路。第四,“合理使用制度”规定的非“商业性使用”不规范,为盗版提供便利。
2.2盗版猖獗,阻碍软件行业的发展
2.2.1用户保护正版意识低
由于法律制度的不健全,人们的法律意识不高,加上正版软件的高昂价格,人们往往选择盗版,造成正版销量下降,盗版猖獗,阻碍软件行业发展。
2.2.2不正当竞争行为
部分软件厂商压低价格,扩大销量,对盗版行为过于放纵,从而危害其他正版厂商的利益,扰乱了市场秩序。
2.2.3著作权人与发行商的不作为
软件著作权人和发行商自身维权意识不高,轻率对待软件发行渠道、销量,对市场上存在的侵权行为更是漠然,使得盗版活动威胁着软件行业的进一步发展。另外,大多数著作权人和发行商限于自身的条件,无法负担高昂的官司费用,同时,盗版官司调查取证困难。于是更愿意将对付盗版者的精力用来策划开发新的软件。正是因为著作权人和发行商对付盗版的不作为,使得软件市场的盗版问题日益严重。
2.2.4打击盗版困难
盗版行为调查取证难,即使胜诉后也无法得到有效的执行。
软件保护制度在中国有诸多的缺陷,法律体系不健全,公众合法意识水平较低。所以,为了促进软件行业的发展,保护计算机软件要统筹多方面,多管齐下。
3.计算机软件保护的具体措施
计算机软件保护不能讲问题的焦点集中在个体上,鉴于计算机软件的独特性,同时发生的侵权行为数目过于庞大,这对于政策、法律以及道德方面都是巨大的障碍,因此在一下几个方面应该让计算机软件权利人与社会公众达成基本共识。
3.1建立健全完善的法律体系
制定新的法律,降低软件受法律保护的标准,尽量保护大多数软件。采用更多禁令的方式去禁止大部分侵权行为发生可能。同时,新的软件保护制度应本着促进软件行业发展为目的,降低软件交易成本为手段,降低专利申请的成本,提高专利申请的办事效率。准确定位合理使用制度中“合理”的度,要打破过度保护的状态,保留合理使用的适度空间,使得社会公众的使用行为和专有权人的专有权得到一个平衡的状态。
3.2司法鉴定软件侵权应做到及时、准确、科学、公正
科学有效及时的司法鉴定程序是破除盗版现象最有力的手段。对于软件侵权鉴定要把握住“实质相似性”与“接触性”这两个关键点,运用更专业的技能,更科学的方法,全面细致的分析解剖侵权软件,找出实质相似的部分,更专业的技能来对侵权软件进行解剖,从中找出实质相似的核心部分。
3.3加大对软件侵权行为的打击力度
计算机软件侵权行为最严重的是具有商业规模的非法复制,对于这类情况要严厉打击,并应制定有效的措施尽快加以减少,直到杜绝;以营利为目的的销售非法软件会导致软件权力人遭到直接损失。建立有效的控制打击销售非法软件行为的制度,规范整个市场,杜绝非法销售行为。对于恶意侵权行为采用行政与刑事手段进行制裁,使恶意侵权者同时承担民事责任与刑事责任,提高法律的威慑力。
3.4提高软件的防盗能力
计算机软件行业要提高开发软件的技术水平,从业人员要针对盗版的途径和方法,有步骤,有计划的研发新技术,采用中加密或专有认证的方式杜绝盗版行为的发生,从而实现防盗的目的。
3.5约束内容服务商的行为
在网络环境下建立有效保护计算机软件的机制,强调内容服务商的法律责任,明确接入服务商与其他中介服务商的法律义务。对于软件市场的维护要将打击与整顿兼顾确保消费者权益得到合法的保护。
3.6提高公众权利意识,提倡使用正版,抵制盗版
培养社会公众树立正确的权利意识,从而形成尊重他人权利的观念至关重要。在此过程中,让公众能了解支持正版,使用正版软件可以获得可靠的技术支持和售后服务,同时保证了自身的网络安全,避免数据的丢失和时间的浪费,促进我国计算机软件产业健康的发展,保证软件著作权人的合法权益不受侵犯。向公众宣传盗版软件带来的大量危害,从而从消费的终端减少盗版软件销售。
4.结语
当今世界是一个信息世界,中国的软件业还处于一个转折的时期,影响软件业发展的多种因素时刻发生着根本的变化。信息技术的融合、多媒体技术的融合推动了转折时期软件业的发展。利用信息技术产业大力发展的契机,完善发展自身软件行业,维护软件著作权人的合法权益。学习和借鉴外国在维护软件著作人权益经验的同时,具体分析自身存在的问题,建立健全相应的法律、法规,使中国的IT产业与国际接轨,将信息产业发展到一个更新的领域,以迎接知识经济的到来。
【参考文献】
[1]计算机软件保护条例(第二条)[Z].2002年1月1日执行.
[2]张晨.计算机软件知识产权的“宽”保护与“窄”保护[J].法制与社会,2008,(14):23.
计算机软件测试方法 篇4
随着计算机和互联网的普及应用,在实际的日常生活中,人们已经很难离开计算机和互联网,在使用的过程中,每台计算机都会安装大量的应用软件,因此软件的编写、测试、维护等已经成为了目前热门的行业。
软件公司为了提高编写软件的质量,在软件编写完成之后,都会对设计的软件进行测试,最大程度上减少软件中存在的漏洞和错误,但是考虑到软件的特殊性,真正意义上完美的软件是不存在的,越复杂的软件存在的漏洞和错误越多,软件测试的目的不是为了完全消除漏洞和错误,只是为了修复发现的漏洞。
在这种背景下,为了发现软件中更多的漏洞和错误,通常都会选择多个平台对软件进行测试,但是考虑到目前软件的测试平台有很多,在实际的选择过程中,应该根据软件的特点,针对性的选择几个测试平台,只有这样才能够发现软件中存在的更多漏洞和错误,从而保证软件的质量最大化。
1 软件测试简述
1.1 软件测试的概念
软件测试的概念是随着计算机软件的发展,而逐渐形成的一门学科,在最初的软件编写中,受到计算机性能和实际使用需要的影响,软件自身所占的空间比较小,结构也比较简单,因此并没有软件测试的理念,而且当时软件的编写语言也比较低级,通常都是采用汇编语言等,对这样语言编写的软件进行测试,也没有比较好的测试平台,随着计算机的发展,能够存储的数据越来越多,执行的任务也越来越复杂。
在这种背景下,实际的生产过程中,对软件的要求也越来越高,软件自身变得越来越复杂,现在有很多软件占用的空间已经达到了几个GB,这样复杂的软件自身会存在很多的问题。
如使用最多的windows操作系统来说,微软公司无疑拥有世界上最优秀的软件编写人才,但是这些世界顶尖人才编写出来的软件,自身还是会存在很多漏洞,因此微软每个星期都会发布一些补丁,修补系统中存在的漏洞,其他应用软件也一样,在应用软件的更新公告中,都会说明加入了一些新的功能,修补了软件上个版本中存在的漏洞。
1.2 软件测试的特点
计算机经过了几十年的发展,相关的技术已经非常完善,软件作为计算机使用过程中的重要部分,现在的计算机使用已经无法离开应用软件,尤其是随着互联网的发展,大量网络应用软件丰富了人们的日常生活,但是在实际的使用过程中,如果软件中存在一些漏洞和错误,就会严重的影响用户的使用,为了最大程度上避免这种现象,在软件编写工作完成之后,都会选择一些测试平台,对软件进行个方面功能的测试,通过深入的研究发现,为了保证软件测试的效果最大化,会根据软件自身的功能等特点,针对性的进行实际的测试,要想达到这个目的,在软件测试时,应该采用多个平台进行测试,同时还要采用多种测试方法。
因此软件测试的第一个特点就是多样化测试,然后还要进行实例测试,通过分析软件的使用环境,根据软件实际使用的特点,选择一些软件实际工作中的参数,对软件的功能进行测试。
由此可见软件测试的第二个特点,就是营造一个真实的软件工作环境,只有在这样的环境中进行测试,才能够最大程度上保证测试的准确性。
1.3 软件测试的意义
软件测试的主要目的,就是为了减少软件中存在的漏洞和错误,对于实际使用软件的用户来说,软件中漏洞和错误的减少,会在很大程度上提高用户的使用体验。
如日常使用的应用软件中,由于存在一些错误,用户在使用的过程中,经常会出现未响应或者关闭等问题,那么用户在忍受了几次之后,必然会选择相同类型的其他软件,如果是软件公司根据用户的需求分析,针对性的编写了一个软件,但是软件中存在一些漏洞和错误,那么用户在使用的过程中,会受到这些漏洞的影响,严重时甚至会影响企业的日常运行,这样会影响软件公司的印象,从而影响公司的经济效益。
由此可见软件测试工作,对于用户和软件公司来说,都有非常重要的意义,因此在目前的软件编写工作中,软件的测试是重要的一个环节,通常也是整个软件工程的最后一个环节,实际的效果表明,软件测试虽然不能完全的消除漏洞和错误,但是能够最大程度上检测出软件中存在的问题,从而提高用户的使用体验。
2 软件测试平台简述
2.1 软件测试平台的概念
软件测试平台的出现,主要是为了提高软件测试的效率,在最初的软件测试中,软件编写工作完成之后,会选择几组参数,输入到应用软件中,观察软件的运行结果,从而发现软件中存在的问题,这样的软件测试效率非常低,而且只能发现一些功能上的问题,对于软件编写中存在的逻辑漏洞和错误,只能选择其他一些针对性的方法,因此软件的测试比较复杂。
通常会分成几个步骤,对软件中的不同内容进行测试,在这种背景下,为了提高软件测试的效率,缩短软件编写的周期,人们将软件测试的所有工作,集成到一个平台下,逐渐的就形成了软件测试平台的概念,一个软件测试平台,通常会包括架构、流程、标准、机制、工具等内容,架构就是指软件中的各种语法规则和模块功能等,而流程就是对软件执行任务的流程进行测试。
在实际的测试时,通常会选择进行分步测试的方法,而机制就是指软件内部不同模块之间的联系机制,在不同机制的联系下,软件内部的模块可以实现相互调用等功能,工具就是指在软件测试的过程中,用到的各种测试工具,包括测试功能的软件等。
2.2 软件测试平台的特点
为了提高软件测试的效率,软件测试平台应该能够提供一个良好的运行环境,软件的使用与环境有很大的关系,在不同的操作系统等环境下,软件的功能会有一定的差异,如现在的很多应用软件,一些功能需要网络的支持,如果离开的互联网的支持,很多功能都无法实现,要想对这些功能进行测试,软件应该在网络的环境下运行,因此软件的运行环境对于测试工作非常重要。
其次软件测试平台还应该具有一定的隔离能力,由于现在的软件都比较复杂,而且软件功能向着集成化发展,每个软件都拥有多功能,在实际的测试过程中,需要对软件的每个功能进行测试,在对其中的一个功能进行测试时,应该将其他的功能隔离开来,防止其他模块对测试这个功能的干扰,这样才能提高测试结果的准确性,将软件的测试工作集成到一个平台之后,对软件的所有功能进行全面的测试。
在以往的软件测试中,对功能和逻辑的测试,都是分开进行,无法进行联合的测试,在软件测试平台中,就能够对软件的所有内容进行全面的测试,测试的结果更加全面,而且方便对测试出漏洞和错误进行记录和修复,能够极大的提高软件测试的效率。
2.3 常用的软件测试平台
目前市面上的软件测试平台有很多,根据实际测试需要的不同,针对性的开发了很多测试平台,如常使用的Test Center软件测试平台和PARASOFT ALM软件测试平台,Test Center是一个通用的软件测试平台,可以对不同类型的软件进行测试,该平台是针对软件测试而开发的一个平台,具有随时运行的特点。
通过这个平台的使用,可以极大的缩短软件开发的周期,提高软件开发的效率,由于面对的是所有类型的软件,因此并没有鲜明的特点,但是具有很多模块,每个模块都可以对软件的功能进行一定的测试。
相比之下,PARASOFT ALM也是一个集成化的测试平台,在软件测试的最初阶段中,PARASOFT公司就已经从事软件测试工作,并且根据软件编写语言和功能的不同,针对性的开发了很多测试工具,由于这些测试工具的效果非常好,因此被英特尔和IBM等公司广泛的采用。
在这种背景下,PARASOFT公司的测试工具,也有了非常快速的发展,今年来随着软件测试工作的需要,该公司将所有的测试工具集成到了一个平台中,这就是现在的PARASOFT ALM测试平台,这个平台从一出现,就受到了各大软件公司的重视。
3 基于多平台的计算机软件测试方法
3.1 多平台计算机软件测试的作用
虽然目前市面上额软件测试平台,很多都是一些通用的平台,但是与针对性的测试平台相比,对于具体的功能测试效果较差,通用平台虽然可以对软件的各个方面进行测试,但是测试平台在设计的过程中,不同的开发公司必然有不同的特点,对于同一个软件来说,不同的测试平台会有不同的测试效果,由此可以看出,如果使用一个测试平台对软件进行测试,虽然能够检测出一些漏洞和错误,但是检测出来的漏洞和错误数量有限,如果使用多个平台对一个软件进行测试,那么不同的平台虽然能够检测出相同的一些漏洞和错误,同时也能够检测出一些独特的漏洞等,这样不同测试平台的配合使用,能够极大的提高测试的效果,因此多平台软件测试的方法。
对于软件开发公司来说,具有非常重要的意义,尤其是在应用软件越来越复杂的今天,软件中可能存在的问题有很多,软件中不可能没有漏洞和错误,多少都会存在一些问题,在测试的过程中,只能尽量的减少软件中的错误和漏洞,而单个的软件测试平台很难满足软件测试的要求。
3.2 多平台计算机软件测试的方法
在使用多个平台对软件进行测试的过程中,需要注意的问题就是几个平台之间的协同问题,由于不同的测试平台开发公司不同,人机交互界面和使用习惯等,都会存在一定的差异,这样多个平台在对一个软件进行测试时,经常会出现一些配合上的问题,因此在实际的测试时,应该注意测试的方法,如在对软件进行测试时,应该先了解软件自身的一些特点,然后根据软件的特点来指定一个测试的方法。
首先应该测试软件的核心模块,对软件的主要功能进行测试,测试平台的选择没有具体的要求,如果有针对性的测试平台,可以优先选择,避免全部选择通用的测试平台,这样能够在一定程度上提高测试的效果,在利用一个平台测试完成后,应该立刻修复找到的漏洞和错误,然后在用这个平台继续进行测试,直到检测不到软件存在问题后,在选择另一个平台进行测试,这样重复的进行下去,直到多个平台都检测不到问题后,软件的测试工作才结束。
4 结论
随着计算机和互联网的普及应用,软件工程已经成为了非常热门的行业,在整个软件工程中,软件的测试是一个非常重要的环节,软件测试是保证软件中没有漏洞和错误的主要手段。
通过全文的研究可以知道,在计算机出现的初期,由于软件的结构比较简单,并没有形成软件测试的概念,随着软件自身的发展,为了提高软件编写的效率,缩短软件开发的周期,人们将软件测试的工具集成到一个平台上,逐渐的形成了软件测平台的概念,现在的软件开发过程中,都会使用到软件测试平台,而且通过多个平台的协同使用,最大程度上减少软件中的漏洞和错误。
参考文献
[1]曾凡晋.浅谈面向对象软件的测试[J].科技信息,2009(1):101-101.
[2]于莉莉,富春岩,孟凡波.软件测试方法及用例的选择[J],佳木斯大学学报:自然科学版,2008(2):240-241+282.
[3]王志敏.基于软件功能点实施测试的方法[J].上海应用技术学院学报:自然科学版,2007(1):62-65.
计算机软件测试方法 篇5
【摘要】计算机应用软件在当前人们的生活中已经运用的非常普及,其市场需求以及发展潜力是巨大的。因此教师们在进行应用软件教学时一定要充分的调动课堂互动关系,加强师生间的交流以提升学生的学习兴趣,注重对实践能力的培养,帮助学生形成一种良好的逻辑能力和构思能力,对其今后工作将会产生巨大的益处。
【关键词】计算机应用软件 教学方法 授课 考试
计算机无疑是20世纪最伟大的发明之一,它对当前人类的生活带来的巨大的改变。随着社会的发展以及计算机技术的进步,在当前计算机已经不仅仅限于计算作用了,运用程序语言而编写的软件为人们带来的便利是非常巨大的。数据存储、交流,功能实现等都能通过软件来完成,财务软件、客户管理软件、考试软件等在生活工作中都产生的非常实际的作用,因此应用软件行业无疑是当前非常有前景的行业。而进行应用软件的教学也同样需要采用更加新颖的方式才能保证更好的教学效果。
一、计算机应用软件的授课模式创新
1、加强课堂互动以提升以帮助融洽师生关系
应用软件在进行实际教学中其实是比较无趣的,程序语言,各种算法和框架,这些不像美学艺术一样可以进行审美品析,这都是一段段代码,一层层逻辑,换算成计算机中所运行的语言就全都是“0”和“1”而已,因此在授课的时候只要老师自身不注意就很容易让学生对当前知识产生一种枯燥感甚至开始厌学,这将直接影响到整个教学的进度和效果,对学生今后的发展非常不利。
所以良好的提升课堂的互动性,让学生提高自身在学习过程中的存在感。比如点名学生进行一小段课程的讲解,前提是该学生已经良好的将相应知识掌握了。还有在课堂上尽可能的留出一段时间进行答疑以及与学生相互之间的交流,除了课堂内的应用软件知识,还有课堂外的软件发展,将来的就业等。通过师生间的良好交流无疑能帮助融洽相互之间的关系,这对整个课程的顺利开展以及提升学生学习的自主性有很大的促进作用。
2、运用实际软件的操作效果来吸引学生的学习兴趣
在课堂上也可以使用一些实际软件的操作效果来提升学生们的学习兴趣。应用软件在当前市场中的受欢迎程度还是非常高的。运用软件的准确高效性毫无疑问能在最短的时间内将相应数据信息整理完善并显示出来。还有通过一些程序语言的设定进行功能的实现,通过软件的实际操作向学生们都良好的展示出来,这样能有效的提升学生们的了解欲望同时增强其学习的兴趣。
当然,一整套软件的原理是难以在短时间内进行讲解的完善的,但是一些简短的程序则可以在短时间内实现并且将原理进行仔细的讲解。通过一些小程序的展示,比如通过上下左右键对桌面图片进行位置的控制,一些简单的小游戏制作等,这样增强了应用软件学习的趣味性,同时良好的帮助学生对这门课程真正产生兴趣,这对其今后的整个职业生涯规划都是有非常大的好处的。
二、计算机应用软件的考核模式创新
1、注重提升平时课堂成绩的比率
最终的考核成绩固然重要,但是平时课堂的表现也同样是一个非常重要的评估因素。软件开发不是一件简单轻松的事情,在今后如果从事相关行业,一个项目不是短时间内就能够完成的,除了专业知识过硬之外,个人素质也要好。而平时的课堂表现就能很好的看出一个人的个人素质优劣,因此最终的考核成绩,平时分所占的比率应该更重一些。
应用软件开发其实是一件比较枯燥的事情,除了不停的敲类似的代码之外,还需要时刻保持良好的状态以避免出现不必要的错误。因此在平时教授课程的时候就要注重培养学生的耐力和持久力。专业知识水平的提升固然重要,但是坚持的精神同样也是十分重要的,养成这样的好习惯,对学生今后的一生都会有非常重大的意义。因此提升平时成绩所占的比率,加强教学质量和平时考核程度是非常有必要的。
2、注重对实践能力的考核而非仅仅是理论知识
学校培养学生的最终目的还是为了适应社会的需求,因此学生在学习应用软件的最终目的同样也是开发出市场、客户需要的软件,因此在平时的教授过程中,老师就应该注重对项目实践能力的培养,有了良好的项目能力才能保证今后在社会工作中也能迅速的适应市场以及公司的需求,从而进行良好的软件开发。
因此在进行考核的时候学生的实践能力才是重点,而绝不仅仅是理论知识而已。比方说进行一个小软件的开发,小程序的编写并在计算机上良好实现,这些都是考量学生实际能力的题目,最终不一定要求学生真的将软件开发的很完善,但是基本的框架和构思还是非常重要的,良好的对学生的逻辑能力以及构思能力进行培养和考核才能保证其在今后进入社会中更好的适应社会的需求。
结束语:
在当前应用软件行业的发展还是非常有市场的,很多事情通过软件进行实施和执行往往能达到更好的效率并提高精准度。因此教师在进行应用软件教学时就应该更用心,积极与学生产生互动,让学生们能够更好的提升对应用软件学习的兴趣,这样才能促进形成一个自主学习的习惯,提升实践能力,确保其在今后的工作中专业知识过硬并得到很好的发展。
【参考文献】
计算机应用软件的学习方法探析 篇6
【关键词】计算机 应用软件 学习方法
随着我国经济水平的不断提高,计算机技术也在不断提高。在每个人的工作、学习中,熟练掌握计算机应用软件已成为必不可少的内容。但在计算机应用软件的学习过程中,还存在着入门难、不能熟练掌握学习方法的情况,大大降低了学习效率,甚至导致学生产生厌学的情绪。因此,为学好计算机应用软件,需要探讨积极的学习方法。
一、培养计算机应用软件的学习兴趣
1.了解学习内容
为提高学习计算机应用软件的学习兴趣,首先要了解学习内容。如在学习Photoshop软件时,首先要认识到该软件属于一种图片处理软件,通过应用该软件,能够实现对图片进行编辑、制作以及美化处理。之后,自己可以想象创建图片文档,根据想象激发学习兴趣。
2.培养学习兴趣
培养学习计算机应用软件的学习兴趣,可通过上网观看感兴趣的内容。如对图片或者视频的处理、制作有较大兴趣,则可以通过观看别人制作的图片或者视频,进而激发自身兴趣。
3.注重培养实践操作能力
上机操作过程具有综合性的特点,集思考、阅读、验证以及观察于一体。上机操作时,不可避免地会遇到一些问题,如通过上机操作解决遇到的问题,那么则能够实现实践和理论的互相结合,进而不仅能够巩固自身的操作技能,而且还能够提高自己的学习兴趣。
二、 学习计算机应用软件需要注意的问题
1.运用正确的学习态度
要有信心、有恒心地学习计算机应用软件,心理上不要存在恐惧感,相信自己。计算机应用软件属于一门操作性比较强的学科,只要勤于动手操作,有恒心,就能学会。
2.掌握学习规律
学习计算机应用软件时,要善于掌握、总结、发现规律。大多数计算机软件属于一类,如PS、CAD为制图软件,学习时,可将其分门别类,循序渐进、由浅入深地学习,就更易掌握。
3.理论与实践互相结合
计算机属于操作性工具,具有较强的操作性,但往往在课本中,计算机操作程序和知识比较烦琐,不易掌握。如将其放置于具体的实践过程中,将会大大降低操作难度。因此,要坚持理论和实践的互相结合。
三、 计算机应用软件的学习方法
1.勤动手,大胆实践
为提高计算机应用软件的学习效果,要熟练掌握正确的学习方法。只有熟练掌握正确的学习方法,才能达到事半功倍的效果。和其他学科相比,计算机具有操作性强的特点,因此,要多上机锻炼,勤动手操作,才能巩固所学知识。如仅仅看书或者听课,不进行操作,则无法有效提高计算机应用能力。
2.掌握規律
计算机应用软件知识掌握较全面的人都会发现,大多数计算机应用软件的操作方法相同。因此,发现该规律后,只要熟练掌握一种应用软件的操作方法,基本上就能够运用该方法操作其他软件。如在应用软件中,单击鼠标表示选择,双击鼠标表示打开;双击窗口则表示放大或者缩小窗口;进行移动操作时,往往按照“剪切”“粘贴”的顺序;复制操作主要按照“复制”“粘贴”的顺序;作图时,拖动鼠标,即可画出椭圆形、矩形等,拖动时利用shift,则可画出圆形和正方形等。
3.熟记键盘快捷键
熟练掌握操作应用软件的快捷键,不仅能够大大节省操作时间,而且还能够提高自身的专业性。在计算机应用软件内,大多数操作命令均有自己特定的快捷键。如“复制”的快捷键为“Ctrl+C”;“粘贴”的快捷键为“Ctrl+V”;“剪切”的快捷键为“Ctrl+X”等。
4.熟练掌握操作技巧
一般情况下,在工作中应用计算机应用软件时主要运用以下几种方法:使用菜单、应用工具栏、快捷键以及单击右键产生快捷菜单等。其中,使用菜单法为最简单的一种方法,但较浪费时间;使用快捷键为最快的一种方式,但需要在日常练习中加深记忆快捷键的操作。在学习时,可根据自身特点选择最适合自己的学习方法。学习计算机应用软件的目的不以如何应用计算机应用软件为目的,而是以如何更方便、更快应用计算机应用软件为目的。
5.打好基础,稳中求进
学习计算机应用软件要脚踏实地、扎扎实实地学习,保持正确的学习态度,打好基础,稳中求进。
四、结语
总之,在最短时间内熟练进行计算机应用软件的操作,需要在掌握正确操作方法的基础上,形成正确的学习态度,勤动手、勤思考,有耐心地进行训练,并注意在学习过程中学会总结、发现规律,最终提高自己的计算机应用软件的操作能力。
【参考文献】
[1]田龙.浅谈计算机应用软件的学习方法[J].计算机光盘软件与应用,2014,01(02):123-125.
[2]贾秋敏.浅谈计算机应用软件的开发和维护[J].无线互联科技,2012,10(08):40-43.
计算机软件安全检测方法 篇7
1.1 探讨计算机软件安全性检测的意义
随着现代社会的飞速发展, 计算机软件的安全性的要求越来越迫切, 各种软件的应用完全成为人们工作、学习、生活中的点点滴滴, 正因为人们的大范围大批量的使用软件, 软件的安全性问题便显露出来, 做好软件安全性方面的检测, 对计算机软件开发领域是必不可少的工作, 对计算机软件的安全性检测的探讨也就存在了重要的意义。
1.2 计算机软件安全性检测的简单介绍
计算机软件安全性检测的工作时开发软件的关键所在, 只有经过了检测才能保证软件的安全问世, 能够检测出软件的问题所在, 并能够及时的进行解决, 对其进行适当的处理。
1.3 计算机软件安全性检测的特点和分类
计算机软件的安全性检测的是检测该软件是否能够实现设计软件之前的预期的效果。主要包括安全功能测试、渗透测试和验证测试。安全性的测试也是有着其与众不同的特殊性的, 因为软件的安全测试存在这样一个特点, 如果是软件自身的缺陷可能只会影响一小部分使用该软件的用户的使用, 但是如果是软件的安全性存在了问题, 那么这对使用软甲的用户的影响是十分大的, 并且会影响很大一部分的用户。它强调的是软件不被授权的用户, 不能访问的数据, 而不是需求不定的。计算机软件的安全性检测主要可以分为两大类:一类是安全功能的检测, 另一类是安全漏洞的检测。前一种是要求有安全性功能的说明, 是否与需求一致, 另一类则是从黑客、病毒等攻击性的角度来说的, 主要以发现软件的漏洞为主, 并进行修补。
2 计算机软件安全性检测的工具
安全性检测工具根据检测对象分类课分为主机安全检测工具、应用安全监测工具网络安全检测工具, 但是由于这类的方法分类不够细化, 且分类可以有不同种的分法, 本文主要按照不同的检测功能进行分类, 可分为源代码分析器、字节码扫描器、二进制代码扫描器、数据库脆弱性扫描器、网络漏洞扫描器、Web应用漏洞扫描器、Web服务扫描器、动态分析工具、配置分析工具、需求验证工具、设计模型验证工具。这些就是在计算机软件安全检测中所用到的工具。
3 计算机软件安全性检测的方法
计算机软件安全性检测主要分为静态检测和动态检测。
(1) 静态检测方法。是指不执行代码的情况下对所开发的软件进行检测的过程, 就是利用分析技术对所输入代码进行分析, 向用户提交分析结果, 通过报告显示出所存在的问题, 并对结果检查, 进行处理。这种方法通常能够对软件的根本性问题提早发现并解决。通常静态的检测方法检测出来都是误报和漏报的现象。
(2) 形式化的安全检测。形式化的安全检测, 是确立要检测软件的数学模型, 通过形式规则来说明该软件所提供的形式化的语言规格。比较常用的检测语言有基于模型的语言和基于有限状态的语言, 以及基于行为的语言。
(3) 模型方面的检测。主要是通过对索要检测的软件的结构和其行为进行建模, 生承诺建模的测试方案, 再生成测试的用例进行安全性的检测。现在主要应用的软件测试模型为UML模型。
(4) 模糊的检测手段。传统的模糊检测就是根据黑盒测试的随机测试方法, 通过将随机的变异正常的程序输入来进行检测, 以发现软件程序中所存在的安全方面的漏洞。现在, 基于白盒测试的模糊检测手段逐渐被应用到实际的软件检测方法中, 利用白盒测试的模糊检测手段结合了动态的测试用例, 要先输入正常的输入运行待测的程序, 在执行检测的过程中, 再加入不同的约束, 检测软件程序的运行。
(5) 语法检测方法。通过对要检测的软件的功能接口的语法生成的测试来进行的语法测试, 通过这种语法输入的方式, 可以检测出所开发的软件当输入不同的输入形式的时候的反映状态。这种方法一般是对软甲接口的语言进行识别和定义的。
(6) 故障注入的安全性检测方法。利用分析树和故障树的最小割集进行检测的。简单点讲就是通过故障树分析法用系统不该出现的作为顶事项, 再寻找可能导致事项发生的中间事项, 底事项, 并其连接, 形成故障树。这种检测软件的方法可以提高检测的效率, 是比较全面的检测方法。
(7) 属性的检测方法。该方法就是在确定了软件的安全编程的规则的前提下, 将所确定好饿规则作为安全属性进行检测, 验证系统软件程序的代码是否合理有效。这种检测的方法可以有效的分析安全漏洞可扩展及交互性。
当然, 除了这些方法外, 软件的安全性检测方法还多许多, 也都有其自身的优势, 想要做好软件安全性方面的检测就一定熟练的掌握这些检测方法。
4 计算机软件安全性检测注意事项
在进行软件安全性检测的时候, 有几点需要注意的方面需要了解一下:第一, 在对所开发的软件进行检测的时候要对检测的软件有相应的了解, 选择合适的安全性检测手段。第二, 在对计算机软件安全性检测的同时, 对系统、需求、代码以及软件结构设计的分析是必不可少的。需要的情况下要进行仿真环境并利用分析工具进行帮助分析检测。
5 结束语
通过对计算机软件安全性检测的探讨, 认识到软件的安全性在软件的安全体系中具有重要的分量, 安全性的检测是检测其安全性的重要依据。本文通过对计算机软件的安全性检测的特点、工具、分类、方法及注意问题进行了详细的探讨, 对计算机软件的安全性检测的分类有了统筹的分析概括, 了解了再安全检测方面这些检测方法各自的优势, 知道了软件安全性的检测要从多个方面入手, 全方位的的检测才能得到一个安全性过关的计算机软件。同时也明确了计算机软件的重要性, 在计算机软件开发方面会加倍重视这部分。
参考文献
[1]郭瑞杰, 宫云战, 杨朝红.软件安全性测试技术研究[A].第三届全国软件测试会议与移动计算、栅格、智能化高级论坛论文集[C].2009.
[2]刘述景.基于Web应用系统的软件测试[J].浙江纺织服装职业技术学院学报, 2007 (03) .
计算机软件测试方法 篇8
这次实验我们选择计算机硬件中的主板、电源与硬盘来进行说明, 原因如下:主板影响着整个计算机系统的性能;电源提供计算机中所有部件所需要的电能, 其功率的大小, 电流和电压是否稳定, 将直接影响计算机的工作性能和使用寿命;硬盘负责储存计算机上所有的软件及文档资料。
1 选择测试软件及方法
计算机主板实际上是集成电路板, 组成了计算机主要的电路系统, 一般包括各种芯片 (CPU、南北桥、BIOS、I/O控制芯片) 、FAN接口、面板控制开关接口、指示灯插接件、DIMM插槽、扩充插槽等直流电源供电的元件。这些元件物理性能是否OK, 可以通过电压、温度、电扇工作状态等是否健康来体现, 那么如何来检测其电压、温度、电扇等工作状态是否健康呢?
IPMI (Intelligent Platform Management Interface) 即智能平台管理接口是使硬件管理具备“智能化”的新一代通用接口标准, 此接口标准为上述问题提供了解决方案。目前市场上的计算机, 特别是惠普、戴尔和NEC等大多数厂商的服务器都具有最重要的物理部件BMC (Baseboard Management Controller) , 一种嵌入式管理微控制器, 它相当于整个平台管理的“大脑”, Ipmitool命令需要通过相应的interface来访问BMC, 通过IPMI可以检测监控各个传感器的数据并记录各种事件的日志, 可以实现对计算机服务器的物理特征, 如电压、温度、电扇工作状态等 (senses值) 进行有效侦测;且ipmitool (如1.5&2.0规范) 较易在多种操作系统下实现, 如在DOS, Windows, linux系统 (需支持IPMI驱动) 下都可以命令行方式ipmitool平台管理工具实现;另外, 可以较易地通过网络获取相应的IPMI资源作参考, 方便用户使用IPMI command来实现对计算机服务器主板上各元件物理特征的检测。现在很多硬件性能都可以通过软件进行测试。
OCCT软件可以检验计算机主机电源的负载能力, 稳定性以及安全有效性, 它可让计算机在负荷运作的状态下同时检测电源各路电压输出的波动, 并形成曲线图模式输出, 通过数据显示, 可以大概掌握电源的健康状态。虽然不能与专业性的测试软件比较, 但OCCT软件专门用来检验计算机电源系统运行的安全有效性。其主要通过给计算机庞大的运算量促使计算机高效运行, 以此测量主机电源的负载能力、稳定性以及安全有效性, 但是这不足以直接评判电源的质量好坏, 因为每一个主板的传感器配置不同, 所以电源的温度以及电压也有区别[1]。
HD tach软件用于检测硬盘的存取速度以及存取时间等硬件指标, 该软件的检测功能比较灵活简便, 而且能够在软件内建设数量和种类繁多的磁盘数据库, 运用VXD特定模式测量能够得出较高的数据精准度。所以, 使用HD tach软件对硬盘进行检测, 可以得出比较准确的检验数据。
2 确定实验内容
2.1 计算机主板
IPMI不依赖计算机服务器的CPU, 内存, 存储, 电源等硬件而独立工作, 是一种廉价检测方案且容易以命令行方式实现。那么如何获取所需要的IPMI命令呢?
首先需要找到各品牌计算机对应的IPMI规范文件, 然后根据其定义, 找到所需要的IPMI command, 如获取温度、电压、电扇工作状态IPMI command。如根据IPMI规范文件定义, 可知其命令格式:ipmi-ip$IP$-u root-p 123456 sensor[temp|fan|volt|discrete|numeric][-format], 最后依据其格式及IPMI定义信息, 可以获取相应的命令, 如执行Ipmitool–I open sensor list命令是获取温度、电压、电扇等sensor值, 以检测主板各元件物理性能的工作状态。
2.2 计算机电源
电源负荷能力与品质好坏的测量标准需要根据功率进行判断, 电源功率分为三种:额定功率、最大功率、峰值功率。
额定功率是指电源在正常工作状态下的功率, 并且能够长时间保持稳定输出的功率, 额定功率值用额定电压与额定电流相乘就能得出;最大功率包含大小不一与正负不同的物理量, 是电源在单位时间内, 电路元件的最大输出功率与最大变化量, 并且也能够长时间稳定的输出;峰值功率是指电源只需要很短时间就可以达到最大功率。
以上三种功率只有额定功率与最大功率是在现实中常用的功率。经过+5V、+12V、+3.3V三组电压, 电源就可以在满负载的情况下把电压波动情况直流输出[2]。
2.3 计算机硬盘性能相关参数
硬盘性能相关参数主要看数据传输率, 从中可以了解硬盘的实际情况, 是检测硬盘的一个重要参数, 而内部传输率是测量硬盘性能的真正标准。
数据传输率体现硬盘在工作状态中的数据传输速度, 会根据工作情况的变化而变化。通过连续的数据传输可以直观的了解硬盘在实际使用过程中磁盘性能的体现以及数据的交换能力。因此, 硬盘性能的主要依据是数据传输率[3]。
平均寻道时间是把握硬盘性能的重要参数, 可以体现硬盘的读取数据能力。该参数主要检测硬盘从磁头移动到数据磁道上所需要时间的平均值, 对内部数据传输率有重要影响。由于硬盘里的数据是分磁道储存的, 数据并不是全都排列在同一磁道上面, 在读取数据时需要在磁道间来回移动, 因此, 平均寻道时间对于数据传输具有一定的意义。
3 测试实验并分析结果
3.1 测试主板性能
现在仅举例如何用IPMITOOL检测主板温度、电压、电扇工作状态等参数, 其它工作状态则依此类推。
测试内容:主板正常温度应该在40度左右, 考虑到夏冬季节及主板工作时间长短等因素会导致温度变化有差异, 所以主板的高低温试验温度设置值应该定义在30~95度之间, 但主板长时间在高温状态 (如95度左右) 工作, 会使主板、芯片组的寿命降低。因此, 在计算机服务器工作时, 主板的温度最好不要超过95度, 当IPMITOOL检测到95度以上的温度时, 我们就认为检测到的温度是不正常的。
经过检测:
通过以上检测, 可以看出IPMITOOL能够侦测到主板各物理特性并符合客户期望的要求。
3.2 测试电源性能
测试指标:+5V、+12V、+3.3V三组电压在电脑负载的情况下, 1个小时内的波动情况, 用来测试电源的安全有效性。
测试运用OCCT3.5软件进行测量, 检验时长约为1个小时, 测量内容包含12V、5V、3.3V三个电源值。
检测用电源使用长城ATX-180SE-PSIII开关稳压电源, 性能标准:输入AC220V-3A-50Hz;最大功率180W, +5V、+3.3V功率, 小于61W;+5V直流输出12A, +12V直流输出10A, +3.3V直流输出16.7A, -5V直流输出0.3A, -12V直流输出0.3A, +5VSB直流输出2.0A。
CPU的占用率通过图形中绿色曲线体现, 和资源管理器相同。图形中的CPU占用率之所以一直变化不断, 是为了更好的展示测试平台的负荷变化, 能够清晰直观的展现电压幅度的变化。CPU核心电压在1.72V-1.81V之间, 波动0.13 (6.96%) ;+3.3V电压在3.32V-3.27V之间, 波动0.06 (1.92%) ;+12V电压在12.05V-11.68V之间, 波动0.49 (4.04%) ;+5V电压在5.17V-5.12V之间, 波动0.08 (1.55%) 。根据上面所得的数据资料, 经过检测得出, 长城ATX-180SE-PSIII开关稳压电源, 计算机在负载的情况下, 输出电路中除CPU核心电压外, 其余输出电压都没超过规定的最大偏离值, 计算机整体配置满足目前用户对于计算机硬件性能的要求[4]。
3.3 测试SSD硬盘性能
SSD是指固态硬盘, 用固态电子存储芯片阵列制成的硬盘, 属于一种永久性存储器或非永久性存储器, 在各个领域得到广泛使用。
测试内容:以硬盘的传输数据率来测量硬盘整体性能。检测用硬盘选择三星SSD 850EVO 120GB硬盘, 缓存空间有256MB, 检测采用HD Tach RW软件, 有以下几种检测方法:
迅速检测方式 (150MB范围) 用时5分钟;持续检测方式 (256MB范围) 用时10分钟;整体检测方式 (变量范围) 用时30分钟。
以上方式检测的内容一致, 分别为突发检测、CPU检测、随机存取检测、连续读取检测。检测结果的数值越小越好, 因为数值越小表示寻道时间越快。
经过检测, 三星SSD 850EVO 120GB硬盘的平均读取速度是540MB/s, 写入速度为520MB/s, 连续数据传输率为150MB/s, 与内存数据相同的其他产品比较, 传输率相对较高, 基本满足硬盘数据标准及用户需求。
4 结语
综上所述, 使用一些测试软件及方法可以检测出计算机中各类硬件的性能。通过合理的配置计算机硬件系统的建设, 反复进行对比测试, 并且对测试结果进行数据分析与性能评估, 可提高测试结果的准确性。
通过分析实验数据结果, 就能够直观清晰的了解硬件性能的大概质量。用来测试硬件的测试软件相对来说也是比较专业的软件, 具有一定的可信度。
由于现在计算机被广泛应用于各种领域, 通过一些检验方法了解计算机硬件的性能很有必要。虽然检测数据不一定完全正确, 但至少满足了用户了解计算机工作状态的需求[6]。
参考文献
[1]张智中, 张黎晨.运用测试软件衡量计算机部分硬件性能应用研究[J].自动化与仪器仪表, 2011 (04) :109-110.
[2]季强, 栾京, 王成武.OLE Automation和Auto It在计算机性能测试中的应用[J].军事通信技术, 2012 (03) :53-56.
[3]陈孟婕, 刘慧媛, 王振洲等.基于Load Runner的Web考试系统性能测试与优化[J].中国农学通报, 2014 (34) :250-256.
[4]徐开秋.计算机辅助设计软件运行之硬件环境分析[J].天津职业院校联合学报, 2012 (02) :74-78.
[5]彭刚锋.国外机载设备ATS测试软件确认方法浅析[J].航空计算技术, 2010 (02) :88-90.
计算机软件安全检测方法分析 篇9
1 计算机软件安全检测概述
软件开发的重要环节是计算机软件安全检测, 检测的目的是为了发现软件所存在的故障而对程序进行执行的过程, 从而有效的对计算机软件潜在的风险进行更正。软件安全检测的目标是用较少的测试用例来达到最大的软件检测覆盖, 从而极好的发现软件存在的问题。计算机软件安全检测其的存在并不能证明程序中没有错误, 它仅仅是查找程序错误的手段。从目前计算机软件安全检测情况来看, 进行安全测试的方法主要分为静态与动态两大类[1]。
计算机软件安全检测是确定软件所具有的安全实现是否能够与软件预期的设计要求一致的过程, 这个过程包括功能测试、渗透测试与验证过程3个部门。计算机软件安全检测的安全性与一般的软件缺陷有一定的区别, 软件安全检测所强调的是软件不应该做什么, 而不是软件应该做什么。计算机软件安全检测通常分为安全功能与安全漏洞进行检测两个方面。安全功能测试是检测计算机软件安全功能是否与安全需要之间步调一致。软件安全功能需求做涉及的内容比较广, 具体包括机密性、授权、访问控制及安全管理等等。而计算机软件安全漏洞的检测则与此不同, 其针对的是软件可能存在的缺陷, 该缺陷有可能导致软件在应用中存在一定的风险。
2 计算机软件安全检测是应注意的问题
从计算机软件安全检测来看, 其是一个动态的检测过程。在进行软件安全检测是需要关注到的问题有如下几点。
一是要针对所检测的计算机软件所特有特点与涉及要求, 在综合分析的基础上通过选择适合软件的检测技术手段, 并从实际出发的角度制定合理的安全检测方案。同时, 在进行计算机软件安全检测时要关注检测人员的多元化, 在计算机软件安全检测过程中不仅仅要配备软件安全分析员, 还要需要配备对该软件系统熟悉同时是还是该系统的总体设计人员参加, 只有多领域的配合才能更好的对软件安全进行检测。二是在进行计算软件安全检测时, 系统级、需求级与代码级的分析是必须的。如果该软件的规模比较大, 还应对其进行软件结构设计方面的分析。在具体的分析过程中从实际工作需要选择合理的分析技术, 必要时可以进行仿真环境与分析工具来协助检测工作。从计算机安全检测的角度来看, 其过程是一个系统化的过程, 无法通过简单的方法来解决一个系统的所有安全检测问题, 因而在具体的家算计安全检测过程中, 需要选择合理的安全检测方法。
3 计算机软件安全检测方法
3.1 形式化安全测试
该安全检测方法是确立软件的数学模型, 通过形式规格说明语言的支持提供形式化的规格说明。比较常用的形式规格语言有基于模型的语言、基于有限状态的语言及基于行为的语言。有定理证明与模型检测两种形式化安全检测的方法[2]。
3.2 基于模型的安全功能测试
该方法是对计算机软件的行为与结构通过建模的方式生成测试模型, 以测试模型为基础生成检测用例, 进而驱动软件安全检测。比较常用的模型安全功能测试方法有有限状态机与马尔可夫链等等。
3.3 语法测试
该测试方法是以被检测软件的功能接口的语法生成软件的测试输入, 通过这种方式检测软件对不同种类输入的反映情况。用该方法进行测试的通常程序是对软件接口的语言进行识别, 定义语言的语法, 在以语法为基础生产测试用例同时执行安全检测。
3.4 基于故障注入的安全性测试
该安全检测方法是应用故障分析树与故障数的最小割集来生产检测用命。故障数分析法用系统最不该发生的时间作为顶事件, 在寻找导致事故发生可能的中间事件与底事件, 通过合理的逻辑门符号将顶事件、中间事件动化程度, 是比较充分的安全检测方法。
3.5 模糊测试
目前所用的是基于白盒的模糊测试, 是对传统模糊测试技术的进步。该检测方法有效的结合传统的模糊测试技术与动态测试用例。
3.6 基于属性的测试
该软件安全检测方法是首先确定软件的安全编程规则, 将确定的规则编码作为安全属性来验证系统程序的代码是否对这些规则进行了遵守[3]。该检测方法的优势是能够有效分析安全漏洞的交互性及扩展性等的。
另外, 近年来基于Web服务的分布式软件快速发展, 如何对Web服务开展安全性测试是分布式软件安全性测试面临的崭新课题。而软件安全检测方法的存在其主要作用就是检测、分析软件或软件设计中存在的这些安全问题, 从而指导软件进行安全性能改善。
通过上述分析, 计算机软件安全检测是信息安全体系中必不可少的组成部分, 软件安全检测对计算机软件应用来说是其发展与应用的必然环节。应进一步加强对计算机软件安全检测方法的分析。
参考文献
[1]杨洪路, 宫云战, 高文龄, 软件安全静态检测技术与工具[J].信息化纵横, 2009 (9) .
[2]王晓华, 软件安全测试方法研究[J].农业网络信息, 2010 (3) .
计算机软件安全检测方法探讨 篇10
随着应用的广泛, 软件的安全性也就成为软件的关键质量指标。安全测试, 在充分考虑软件安全性问题的前提下进行的测试, 普通的软件测试的主要目的是:确保软件不会去完成没有预先设计的功能, 确保软件能够完成预先设计的功能。但是, 安全测试更有针对性同时可能采用一些和普通测试不一样的测试手段, 如攻击和反攻击技术。因此, 实际上, 安全测试实际上就是一轮多角度、全方位的攻击和反攻击, 其目的就是要抢在攻击者之前尽可能多地找到软件中的漏洞.以减少软件遭到攻击的可能性。
2 计算机安全检测技术主要内容
安全测试基于软件需求说明书中关于安全性的功能需求说明, 测试的内容主要是:软件的安全功能实现是否与安全需求一致。通常情况下, 软件的安全需求包括: (1) 数据保密和完整可用; (2) 通信过程中的身份认证、授权、访问控制; (3) 通信方的不可抵赖; (4) 隐私保护、安全管理; (5) 软件运行过程中的安全漏洞;等等。
以一个Web网站为例。软件安全测试和一般的测试具有很大的区别。一般测试主要是确定软件的功能能否达到, 如果没有达到, 就进行修改, 其任务具有一定的确定性。
但是, 安全测试主要是检查软件所达到的功能是否安全可靠, 需要证明的是软件不会出现安全方面的问题, 如:数据篡改、非授权访问、遭受DOS攻击等等。
3 软件安全性测试的过程
软件的安全测试, 一般根据设计阶段的威胁模型来实施。安全问题, 应该从设计阶段就开始考虑, 设计要尽可能完善。并提出了采用威胁建模的方法来在软件设计阶段加入安全因素的考量。威胁建模过程一般如下: (1) 在项目组中成立一个小组, 该小组中的人员是项目组中对安全问题比较了解的人; (2) 站在安全角度, 分解系统的安全需求需求; (3) 确定系统可能面临的威胁, 将威胁进行分类, 可以画出威胁树; (4) 选择应付威胁或者缓和威胁的方法; (5) 确定最终解决这些威胁的技术。既然在设计阶段, 就将系统可能出现的一些安全问题写在文档里面了, 因此, 安全性测试也应该是基于这些内容。因此, 软件安全测试的过程可以分为以下几个步骤:
3.1 基于前面设计阶段制定的威胁模型, 设计测试计划
该过程一般基于威胁树, 如下图所示:测试计划就可以基于口令安全所可能遭受的各个攻击进行制定。
3.2 将安全测试的最小组件单位进行划分, 并确定组件的输入格式
实际上, 和传统的测试不同, 威胁模型中, 并不是所有的模块都会有安全问题, 因此, 我们只需将需要安全测试的某一部分程序取出来进行测试, 将安全测试的最小组件单位进行划分。
此外, 每个组件都提供了接口, 也就是输入, 在测试阶段, 测试用例需要进行输入, 这就必须将每个接口的输入类型、输入格式等都列出来, 便于测试用例的制定。这些输入如:Socket数据、无线数据、命令行、语音设备、串口、HTTP提交等等。
3.3 根据各个接口可能遇到的威胁, 或者系统的潜在漏洞, 对接口进行分级
在该步骤中, 主要是确定系统将要受到的威胁的严重性, 将比较严重的威胁进行优先的测试, 这个严重性的判断, 应该来源于威胁模型。
可以通过很多方法对接口受到的威胁性进行分级, 例如用积分制方法, 对各个接口可能受到的各种威胁进行积分, 最后累加, 优先测试那些分数排在前面的接口。
3.4 确定输入数据, 设计测试用例
每一个接口可以输入的数据都不相同, 由于安全测试不同于普通的测试, 因此还要更加精心地设计测试用例。有时候还要精心设计输入的数据结构, 如随机数、集合等的设计, 都要必须是为安全测试服务的。
在测试用例的设计过程中, 必须要了解, 安全测试实际上是对程序进行的安全攻击, 因此, 不但数据本身需要精心设计, 测试手段也要精心设计。如在对缓冲区溢出的测试中, 必须精心设计各种输入, 从不同的方面来对程序进行攻击。
3.5 攻击应用程序, 查看其效果
用设计的测试用例来攻击应用程序, 使得系统处于一种受到威胁的状态, 来得到输出。
3.6 总结测试结果, 提出解决方案
本过程中, 将预期输出和实际输出进行比较, 得出结论, 写出测试报告, 最后提交相应的人员, 进行错误解决。
4 计算机自动进行测试的几种方法
4.1 用形式化方法进行安全测试
该方法用状态迁移系统描述软件的行为, 将软件的功能用计算逻辑和逻辑演算来表达, 通过逻辑上的推理和搜索, 来发现软件中的漏洞。
4.2 基于模型的安全功能测试
在该方法中, 首先对软件的结构和功能进行建模, 生成测试模型, 然后利用测试模型导出测试用例。该方法的成功与否, 取决于建模的准确性, 对身份认证、访问控制等情况下安全测试比较适用。常用模型有:UML模型、马尔可夫链模型等等。
4.3 基于输入语法进行测试
接口的输入语法, 定义了软件接受的输入数据的类型、格式等。该类方法中, 首先提取被测接口的输入语法, 如命令行、文件、环境变量、套接字, 然后根据这些语法, 生成测试用例。此类测试方法比较适用于被测软件有较明确的接口语法的情况, 范围较窄。
4.4 采用随机方法进行测试
该方法又称为模糊测试, 将随机的不合法数据输入到程序中, 有时候能够发现一些意想不到的错误, 在安全性测试中越来越受到重视。软件测试本来是软件工程中研究比较活跃的一个分支, 针对安全测试的研究也受到较多学者的重视。
参考文献
[1]赵妍.计算机软件安全检测方法探讨[J].科技传播, 2010 (8) .
[2]朱岩.浅析计算机软件安全检测存在问题及方法[J].科技创新与应用, 2012 (6) .
计算机软件测试方法 篇11
【关键词】计算机应用软件 教学方法 授课 考试
计算机无疑是20世纪最伟大的发明之一,它对当前人类的生活带来的巨大的改变。随着社会的发展以及计算机技术的进步,在当前计算机已经不仅仅限于计算作用了,运用程序语言而编写的软件为人们带来的便利是非常巨大的。数据存储、交流,功能实现等都能通过软件来完成,财务软件、客户管理软件、考试软件等在生活工作中都产生的非常实际的作用,因此应用软件行业无疑是当前非常有前景的行业。而进行应用软件的教学也同样需要采用更加新颖的方式才能保证更好的教学效果。
一、计算机应用软件的授课模式创新
1、加强课堂互动以提升以帮助融洽师生关系
应用软件在进行实际教学中其实是比较无趣的,程序语言,各种算法和框架,这些不像美学艺术一样可以进行审美品析,这都是一段段代码,一层层逻辑,换算成计算机中所运行的语言就全都是“0”和“1”而已,因此在授课的时候只要老师自身不注意就很容易让学生对当前知识产生一种枯燥感甚至开始厌学,这将直接影响到整个教学的进度和效果,对学生今后的发展非常不利。
所以良好的提升课堂的互动性,让学生提高自身在学习过程中的存在感。比如点名学生进行一小段课程的讲解,前提是该学生已经良好的将相应知识掌握了。还有在课堂上尽可能的留出一段时间进行答疑以及与学生相互之间的交流,除了课堂内的应用软件知识,还有课堂外的软件发展,将来的就业等。通过师生间的良好交流无疑能帮助融洽相互之间的关系,这对整个课程的顺利开展以及提升学生学习的自主性有很大的促进作用。
2、运用实际软件的操作效果来吸引学生的学习兴趣
在课堂上也可以使用一些实际软件的操作效果来提升学生们的学习兴趣。应用软件在当前市场中的受欢迎程度还是非常高的。运用软件的准确高效性毫无疑问能在最短的时间内将相应数据信息整理完善并显示出来。还有通过一些程序语言的设定进行功能的实现,通过软件的实际操作向学生们都良好的展示出来,这样能有效的提升学生们的了解欲望同时增强其学习的兴趣。
当然,一整套软件的原理是难以在短时间内进行讲解的完善的,但是一些简短的程序则可以在短时间内实现并且将原理进行仔细的讲解。通过一些小程序的展示,比如通过上下左右键对桌面图片进行位置的控制,一些简单的小游戏制作等,这样增强了应用软件学习的趣味性,同时良好的帮助学生对这门课程真正产生兴趣,这对其今后的整个职业生涯规划都是有非常大的好处的。
二、计算机应用软件的考核模式创新
1、注重提升平时课堂成绩的比率
最终的考核成绩固然重要,但是平时课堂的表现也同样是一个非常重要的评估因素。软件开发不是一件简单轻松的事情,在今后如果从事相关行业,一个项目不是短时间内就能够完成的,除了专业知识过硬之外,个人素质也要好。而平时的课堂表现就能很好的看出一个人的个人素质优劣,因此最终的考核成绩,平时分所占的比率应该更重一些。
应用软件开发其实是一件比较枯燥的事情,除了不停的敲类似的代码之外,还需要时刻保持良好的状态以避免出现不必要的错误。因此在平时教授课程的时候就要注重培养学生的耐力和持久力。专业知识水平的提升固然重要,但是坚持的精神同样也是十分重要的,养成这样的好习惯,对学生今后的一生都会有非常重大的意义。因此提升平时成绩所占的比率,加强教学质量和平时考核程度是非常有必要的。
2、注重对实践能力的考核而非仅仅是理论知识
学校培养学生的最终目的还是为了适应社会的需求,因此学生在学习应用软件的最终目的同样也是开发出市场、客户需要的软件,因此在平时的教授过程中,老师就应该注重对项目实践能力的培养,有了良好的项目能力才能保证今后在社会工作中也能迅速的适应市场以及公司的需求,从而进行良好的软件开发。
因此在进行考核的时候学生的实践能力才是重点,而绝不仅仅是理论知识而已。比方说进行一个小软件的开发,小程序的编寫并在计算机上良好实现,这些都是考量学生实际能力的题目,最终不一定要求学生真的将软件开发的很完善,但是基本的框架和构思还是非常重要的,良好的对学生的逻辑能力以及构思能力进行培养和考核才能保证其在今后进入社会中更好的适应社会的需求。
结束语:
在当前应用软件行业的发展还是非常有市场的,很多事情通过软件进行实施和执行往往能达到更好的效率并提高精准度。因此教师在进行应用软件教学时就应该更用心,积极与学生产生互动,让学生们能够更好的提升对应用软件学习的兴趣,这样才能促进形成一个自主学习的习惯,提升实践能力,确保其在今后的工作中专业知识过硬并得到很好的发展。
【参考文献】
[1]曾明星,周清平,蔡国民,王晓波,颜一鸣,黄云,杨燕萍.软件开发类课程翻转课堂教学模式研究[J].实验室研究与探索,2014,02:203-209.
[2]介军,何箐,董丽丽,祁飞.面向软件应用开发的校企协同创新型计算机人才培养模式研究[J].电脑知识与技术,2014,02:334-335+348.
计算机软件版权保护方法研究 篇12
随着信息技术的发展, 计算机软件产业也迅速崛起,成为社会经济不可缺少的一部分。 然而计算机软件特有的复制成本低、复制效率高的特点,使得软件产品往往成为版权侵犯的对象。 软件盗版、软件非法拷贝等问题日益严峻,因此软件产品知产权的保护变得尤为重要。 为了保护软件所有人的权利,必须从技术、法律、管理等各方面考虑,进行全面保护。
2 技术保护
通过技术手段进行软件保护,防止对软件产品的非法复制和使用,以及对软件产品进行的非法修改。
2.1 硬件加密
硬件加密指使用硬件和软件结合的方式来实现软件的加密。 基于硬件的方法有加密狗、加密锁保护、光盘保护等。 常用的是插在计算机的接口上的加密狗,加密后的软件在执行时需要访问硬件加密狗。 但是,硬件加密成本较高,主要应用于行业用户中,不适用于普通用户,也不利于网上发布软件。
2.2 网络加密
网络加密是利用网络技术对软件进行加密保护的技术。 常见的方法有网络验证等。 网络加密需要将软件运行的重要数据放在服务器上,只有通过联网验证用户注册信息后才能取得这些数据运行软件,它的加密强度较高,但是需要建立专门的服务器网站,成本高。 采用这种加密方法,用户必须在线完成网络验证,在网络不稳定的情况下被加密的软件就无法正常使用了。
2.3 软件加密
软件加密不依靠硬件只使用算法来实现的对软件的保护。 目前常用的有注册验证法、计算机硬件校验法、软件水印保护等。 软件加密的方法相对硬件加密而言成本比较低,但安全性相对也要低一些。
2.3.1 基于注册验证的版权保护
用注册信息实现版权保护,是目前使用比较广泛的版权保护方式。 软件供应商对用户信息进行加密,密文作为注册信息返回给用户。 软件运行时,通过验证注册信息确认软件是否授权,实现保护。
注册信息一般基于软件使用者的用户信息生成,可以是一串序列号或注册码,也可以是一个授权文件或其它存在形式。 在验证比较严格的情况下,用户信息应该包含标志用户唯一性且不可复制的信息,例如计算机的CPU、硬盘等关键部件的硬件序列号等。
对合法授权软件, 软件供应商会提供一个注册文件,该文件包含加密过的用户信息、注册码等注册信息。用户只要将该文件放入指定的目录下, 软件每次启动时,从该文件中读取注册信息并按设计好的算法进行处理,然后与用户输入的信息或注册码进行比较,根据比较结果判断是否为授权软件,如果是则以正版软件模式来运行。
2.3.2 用软件水印实现版权保护
软件水印是近年来出现的一种新型的软件版权保护方法,它在软件产品中嵌入版权保护信息和身份认证信息,并通过检测出的版权保护信息和身份认证信息来确认对产品的版权拥有,防止软件盗版和非法拷贝。
软件水印具有信息隐藏的功能,水印信息可以包含作者、发行商、所有者、使用者等信息,并携带有版权保护信息和身份认证信息, 在设计水印时对这些信息加密,可以防止水印信息遭到破坏或者修改。
软件水印技术包括水印信息的生成、水印嵌入和水印提取三个过程。 根据软件水印的嵌入和提取技术来分,可分为静态水印和动态水印。 静态水印把水印信息存储在可执行程序代码中, 比如放在安装模块部分、指令代码部分,或者是调试信息的符号部分。 软件运行时准确提取软件中的加密水印信息,解密后与原始信息对比,验证软件的版权信息。 动态水印则是把水印信息保存在程序的执行状态中,而不是程序源代码本身。 软件开发过程中,选择一种动态水印算法,和正常的软件模块一起编写、编译。 软件执行过程中要求输入特定的序列,根据输入,程序会运行到某种状态,这些状态就代表水印,通过这些水印验证软件的版权。
2.3.3 基于机器码的软件版权保护
计算机的硬件通常具有惟一的标识, 比如MAC地址、硬盘序列号、CPU序列号和主板等,这些信息被统称为机器码,软件用户一般无法轻易改变它们。
一种方法是用机器码生成注册码。 软件开发人员利用系统提供的接口编程获取机器码,对这些机器码进行组合变换后作为用户注册信息,再对这些注册信息经过加密处理,就能产生与该主机匹配的唯一注册码,把这个注册码放在软件的文件系统中。 软件每次运行时读取计算机的机器码生成注册码,并与注册文件中的注册码进行比对,若有误,软件将被限制使用。
另一种方法是直接用机器码加上软件信息作为验证信息。 软件安装时获取用户计算机系统已经存在的某些特征信息,比如CPUID、BIOS信息、硬盘序列号、硬盘分区信息等, 在这些信息的基础上加入相应的附加信息,如用户信息、软件信息和使用期限等,把这些信息作为一个整体生成MD5 码,用以区别不同的计算机。 为了安全,可以把MD5 码和附加信息用DES算法进行二次加密,密文保存在用户的计算机上。 软件运行时读取并解密密文,与用户计算机的特征信息(机器码)及附加信息进行比较, 确定软件的版权。
3 法律保护
随着社会的发展,对计算机程序软件的保护问题已成为我国乃至世界保护知识产权的重要内容之一。 我国1990 年颁布的《著作权法》规定,计算机软件是受法律保护的作品形式之一。 2002 年,我国颁布了《计算机软件保护条例》,对软件实施著作权法律保护作了具体规定。
软件著作人或软件公司,可以通过申请软件著作权来保护开发的软件产品。 软件版权保护的保护范围非常广泛,对内容没有特殊要求,只要具备一定的独创性,就可以申请版权保护。 在发生软件著作权争议时,《软件著作权登记证书》是主张软件权利的有力武器,请求司法保护的前提。 在进行软件版权贸易时,《软件著作权登记证书》作为权利证明,有利于交易的顺利完成。
如果软件产品思想新颖、技术上有创造性,并且具有实际的经济利益,可以向专利局提出专利申请,实现计算机软件的专利保护。 专利保护的内容比较广泛,能实现对创意、思想及计算机软件特有的源代码进行专利法保护,有利于保障软件开发者的合法权益。
软件开发者根据软件的特点和保护需求,根据版权保护或专利保护的特点,选择合理的保护模式,及时进行版权登记或专利申报。
4 管理保护
计算机软件版权保护还要注意企业内部管理。
首先,计算机软件开发企业内部管理不规范、不严格,软件开发的核心人员离职时,带走核心资料并卖与他人,造成软件核心资料外泄。
其次,软件版本管理不完善。 有的软件开发公司在进行软件升级时,不注意保存原程序版本,从而造成原程序版本外流被侵权。
因此,企业必须加强内部管理,保护好已有的软件产品,规范软件开发的文档管理,与核心技术人员签订任务委派书等, 进一步细化软件开发中的验核程序,同时规范劳动合同。
5 结束语
软件的算法是设计人员的思想火花,并且随着软件功能和规模的增大,软件的开发成本也越来越高。 软件企业为了维护自己的权利, 也是从各个方面加强保护。在技术上进行加密等防止复制,申请版权或软件专利进行维权,在企业内部规范管理防止核心资料外泄等。 作为软件开发或应用人员, 也要尊重别人的劳动成果,不要剽窃他人的作品,维护社会安定。
摘要:伴随软件行业的发展,计算机软件越来越容易受到复制和盗版的威胁。论文分析了成功软件版权保护方法的实现技术,并提出从法律和管理上同时发力,全方位地实现软件版权保护,切实维护好软件开发者的合法权益。
关键词:软件,版权保护,软件加密,软件水印,机器码
参考文献
[1]段刚.加密与解密(第三版)[M].北京:电子工业出版社,2008:102-103,121-126,392-395.
[2]张晓娟.软件水印在软件版权保护中的应用[J].现代计算机,2012(10):24-26.
[3]王贤德,王伟超.软件版权保护技术研究[J].软件导刊,2008(7):30-31.
[4]刘宏申,孙长应.软件水印实现软件版权保护[J].电脑知识与技术,2012(3):1701-1703.
[5]张畅,胡谷雨,倪桂强.基于机器码加密的软件版权保护方案[J].计算机安全,2013(3):46-48.
【计算机软件测试方法】推荐阅读:
As-jnehq8第18章 计算机的物理与软件检测及维修方法实验课题01-14
计算机软件基础01-19
计算机软件安全05-23
计算机软件制作08-29
计算机仿真软件12-23
开发计算机软件12-30
计算机联锁软件01-06
计算机软件与软件工程论文01-08