计算机软件测试技术与保护技术分析
文/常鑫
摘要:软件测试的目的是找出编程错误,改正相关错误。软件保护
技术的目的是防止软件被非法盗用和破解。计算机软件测试和保
护,可以保证软件质量和安全,多样对于软件开发至关重要。本
文以计算机软件为切入点,分析软件测试和保护问题。
中国论文网5[9F:pwk2a]
【关键词】软件测试 软件保护 技术分析
1?|&D"g6i.rv#R5W0
软件测试不是一蹴而就的,需要分为几个阶段。首先,软件内的各个模块被隔离开,
并对每个模块进行分别测试, 发现其中的问题。其次,将各个模块进行重新组装,看看连接口
是否存在问题。再次,重新组装的软件与系统之间是否兼容,检查软件的完好性。最后,软
件开发的相关人员集体参加,对软件的安全、强度和功能进行测试。下面就详细阐述软件的
测试和保护问题。
中国论文网d g:R'~6}6F
1 计算机软件测试技术
1.1 静、动态测试
从程序运行角度来说,测试技术分为两种。一种为静态测试,是在不运行程序的情况
下进行,诸如,需求、设计和代码的研读,分析以及检测;另一种为动态测试,是在运行程
序的情况下进行,对比预期输出和实际输出之间的关系,发现其中的问题。
中国论文网M7St5U#iL"p`
1.2 黑盒测试
软件能不能运行的测试属于黑盒测试,该方法通过外部输出端和输入端的检测,对比
软件运行情况。黑盒测试无法分析软件内部结构,不能从根本上解决软件存在的问题。黑盒
测试只能测试软件的完整性、 显示界面的错误、客户端以及原本存在的问题。黑盒测试需要寻
找新的测试方法,对软件进行全面测试,找出问题并完善。全面性测试是对所有输入进行测
试,不能在实际测试中使用,仅仅能进行某种功能性的测试。黑盒测试前要对所有可能出现
的问题进行量化,保证软件在后期使用时候最小化。
中国论文网q*L*v%w;Ga)_;B9N
1.3 白盒测试
白盒测试是对软件内部结构进行测试,看其是否符合设计需求。白盒测试可以检测软件
内部、每个部分之间的接口是否符合初期设计意图。 白盒测试可以知道软件那部分出现问题,
然后有针对性地改正。通过白盒测试可以保证软件自身问题的最小化,通过软件的开发率。
%j+by:be#~ V'Df0
1.4 其他测试技术
除了上述测试技术以外,计算机还有以下测试技术:
(1)回归测试是在软件错误修改完之后,重新对软件进行测试,甚至要对软件进行重新
设计测试。回归测试存在于软件的整个过程,包括白盒回归和黑盒回归;
(2)冒烟测试是指软件测试人员对选取的软件主要功能进行前提测试,如果主要功能不能实现,可以直接否定测试软件;
(3)随机测试是指输入的测试数据(随
机生成的数据),模拟客户操作,找出边缘性
错误。
?UN6{Gw*T&O]0
2 计算机软件保护技术
2.1 硬件的保护
2.1.1 加密狗
加密狗作为实体加密产品,通过串口、并口和 USB 与主机相联,实现对软件进行保
护的功能。加密狗的价格比价高昂,只有安全性要求比较高的客户才配备。
4x8|d?[
z)k0
2.1.2 光盘保护
光盘保护是保护软件内部的信息,其存入到光盘之中。一旦光盘遭到破坏,软件也会
遭到破坏,进而实现对软件的保护。光盘保护是对光盘游戏的保护,防止不法分子对光盘内
容进行剽窃。然而,这种保护方式存在很大的问题:首先,光盘保护虽然可以保护软件内容
不被泄露,但不能保证软件的安全。一旦光盘遭到破坏,软件也会一同遭受破坏。其次,光
盘保护容易被相关人员破解, 安全程度比较低。
中国论文网QJ\/A!h u"W4dc.Vc
2.2 软件的保护方式
2.2.1 序列号保护
目前,网络共享软件的保护方式指软件公司设置特定的序列号,保护软件自身内容和
使用权。序列号的保护方法是用户在使用软件的时候,提供自己的信息,并将信息传递给软
件公司。 软件公司核实用户提供的序列号以后,用户才能使用软件。这种保护方法操作简单,
经济效益比较高,所以受到广大软件公司的喜欢。
Wg(A.^5s%OXd;p0
2.2.2 Nag 窗口
Nag 窗口是用户在使用过程中弹出相应的窗口,以此阻止用户对软件的使用。用户在购
买正版软件以后,相关窗口的弹出设置权就分配给用户,用户可以正常使用软件。这种软件
保护的方式虽然可以起到促销的作用,但是购买情况并不如预期。因此,Nag 窗口慢慢走出人们的视线。
中国论文网4d"\1E&rZh;u
2.2.3 时间限制
时间限制经常被应用于软件保护中,并具备其自身的优势。时间限制包括使用次数和
使用天数,以及运行过程总的实现限制,超出设置时间,软件就会被保护。
中国论文网8x4a6I?y%f.xj+K
2.2.4 功能限制
功能限制就是放出 Demo 版,进行相应选项的灰色处理,用户无法使用该选项。功能限
制具有一定的风险,仅仅是代码中对该选项进行禁止。试用版和正式版之间仅仅在功能实现
方面存在设置不同,其他代码都相同。破解者通过改变正版和试用版之间的代码,让试用版
的代码像正式版一样使用,达到破解的目的。不过,破解者要在试用版中加入自己的代码,
才能够实现破解的目的。软件公司可以在正版中加入特殊代表,将试用版和正版之间进行区
别,提高正版软件的保护力度,真正实现功能限制的目的。
l&?q8M8r`3Z0
2.2.5 反汇编、反调试技术反汇编、反调试技术可以预防 Soft ICE、
IDA 等调试器软件技术对 Cracker 的跟踪和破解,以及分析软件的内部结构,提高软件的自
身保护程度。反汇编、反调试技术可以与上述软件技术一起使用, 提高软件的综合保护能力,
加强软件的保护效果。
:X^4e7z*HK'SG0
3 结束语
综上所述,随着计算技术的不断发展,人们对软件需要更加强烈。软件已经应用到社会
的各个领域,软件自身的安全性和功能性被人们所关注。计算机软件测试和保护是提高软件
安全性和功能性的有效手段,所以计算机软件测试和保护技术的研究具有十分重要的意义。
\o$af$s_2n)uY0
参考文献
[1] 陶静 . 计算机软件测试技术的浅析 [J].通讯世界,2013,(09):92-93.
[2] 郭滔 . 面向对象软件测试技术研究 [J].科技信息,2011,(03):499+480.
[3] 孙伟 . 软件测试技术发展模式探讨 [J].长春理工大学学报,2012,(04):235-236.
作者单位兰州职业技术学院 甘肃省兰州市 730070