软件评测师写作专栏之安全测试的基础知识26

软件评测师写作专栏之安全测试的基础知识26,第1张

对于初学者,首先要的是基础知识,其次才是测试工具

基础知识包括:计算机专业技能和测试专业技能:

计算机专业技能

计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。计算机专业技能主要包含三个方面:

测试专业技能

现在软件测试已经成为一个很有潜力的专业。要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础,这也是本书的编写目的之一。因此,测试工程师应该努力学习测试专业知识,告别简单的“点击”之类的测试工作,让测试工作以自己的专业知识为依托。

测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。

软件编程技能

“测试人员是否需要编程?”可以说是测试人员最常提出的问题之一。实际上,由于在我国开发人员待遇普遍高于测试人员,因此能写代码的几乎都去做开发了,而很多人则是因为做不了开发或者不能从事其它工作才“被迫”从事测试工作。最终的结果则是很多测试人员只能从事相对简单的功能测试,能力强一点的则可以借助测试工具进行简单的自动化测试(主要录制、修改、回放测试脚本)。

软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能给编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。

此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据作者的经验,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。

网络、 *** 作系统、数据库、中间件等知识:

与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、 *** 作系统、数据库等知识。

在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。

*** 作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的 *** 作命令以及相关的工具软件。而WebLogic、Websphere等中间件的安装、配置很多时候也需要掌握一些。

数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握SQL。测试人员至少应该掌握Mysql、MS Sqlserver、Oracle等常见数据库的使用。

作为一名测试人员,尽管不能精通所有的知识,但要想做好测试工作,应该尽可能地去学习更多的与测试工作相关的知识

关于测试工具,主要有2个,这个最好自学或参加培训:

工具Loadrunner、Winrunner

学习软件测试不需要很高的学历。大多数软件测试课程一般都是从零基础开始,大多数人都能学会。千锋教育就有线上免费的软件测试公开课,。

如果真的需要一定的基础,那就是 *** 作电脑的基本能力,相信几乎人人都会。如今互联网软件测试行业,在国内可是非常吃香的,尤其是近些年随着软件的普及,人们对软件的要求也是越来越高,因此国内各大互联网企业,也开始大量招聘软件测试人员,但由于这个岗位在我国的发展时间并不长,人员需求也是供应不求的。首先学习软件测试是个不错的选择,总体上来说入门难度并不算高,即使计算机基础知识比较薄弱的人,只要通过一个系统的学习过程,也是能够满足软件测试岗位的基本要求的。不过入门软件测试的难度并不算高,但是需要学习的内容却比较多,也比较杂。只是可能相对有基础的人来说,他们可以选择自学,而没有基础的人,就有选择报班培训这种方式了,但报班学习时间比较短,整体学习也是比较全面的集中的。并且学习中遇到的技术问题可以很快解决。同时还有专项练习,比自学有更强的学习氛围。千锋将在高校、企业、学员和各方合作伙伴支持下,努力成为一个有情怀、有良心、有品质的一流教育机构,为国家培养更多高质量数字技能人才。

各位学员大家好,大家在学习软件测试基础知识时,安全测试已经成了必不可少的一部分。为了让大家快速掌握这方面的知识点,接下来就带领大家一起来学习一下!

例题:以下不属于安全测试方法的是()

A、安全功能验证

B、安全漏洞扫描

C、大数据量测试

D、数据侦听

昊洋详解: 安全测试方法包括安全功能验证、安全漏洞扫描、模拟攻击实验和数据侦听。具体内容如下所示:

1 )、安全功能验证: 对软件需求中确定的有关安全模块的功能进行测试验证。例如权限管理模块,数据机密模块,传输加密模块,数据备份和恢复等模块一般都会有对应安全功能设置。安全功能验证的方法和一般程序测试类似,主要有以下三种:黑盒测试、白盒测试和灰盒测试。

2 )、安全漏洞扫描: 用漏洞扫描软件对信息系统和应用软件有针对性地对有关漏洞进行扫描,然后发现漏洞后做好有效防范后补救措施,也可以采取保护措施防止非法者利用已知漏洞进行攻击。常见的漏洞有:

拒绝服务(Dos)漏洞: 故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃,而在此攻击中并不包括侵入目标服务器或目标网络设备。

本地用户扩权漏洞: 本地普通级别用户利用程序漏洞非法拥有其他用户甚至超级用户的权限,从而使得系统遭到破坏。

远程用户扩权漏洞: 远程普通用户利用系统服务中的漏洞,未经授权就进入了系统访问,从而进行不可预知的破坏行为。

3 )、模拟攻击实验: 将自己假装成类似于黑客的非法入侵的攻击者,利用目前存在的系统漏洞和常用的攻击手段,对提交评测的系统进行开发环境或试用环境里的攻击,以发现安全问题。主要四种攻击技术为:

服务拒绝(Dos)型攻击: 企图通过使服务器崩溃的方式来阻止其提供服务,主要手段包括:死亡之ping,泪滴,UDP洪水,SYN洪水,Land攻击,Smurf攻击,Fraggle攻击,电子邮件炸d和畸形消息攻击等。

漏洞木马型攻击: 主要是由于系统使用者粗心大意或者已知系统漏洞但未及时打补丁,又或者不小心安放了木马等原因导致的非法入侵行为,主要包括:口令猜测,特洛伊木马和缓冲区溢出3种方式;

信息收集类技术: 本身不会对目标服务器造成危害,收集大量有关系统的信息,为非法者非法入侵提供了便利,主要使用的技术有:扫描技术、体系结构刺探和利用信息服务3种。

伪装欺骗型攻击: 用于攻击目标配置不正确的消息,主要包括DNS高速缓存污染,伪造电子邮件,ARP欺骗和IP欺骗四种方式。

4 )、数据侦听: 也称为“网络监听”,用于获取在网络上传输的信息,但这些信息不是发给自己的。网络侦听技术可以有效地管理网络,针对网络问题和检查网络的安全威胁。如果侦听技术工具被非法用户利用,也可能成为入侵者的入侵手段。

本题中的C选项大数据量测试是一种负载压力测试方法,不属于安全测试的范畴,故该题目的正确答案为C。

巩固练习题

(1)以下不属于安全防护策略的是(  )

A、入侵检测

B、隔离防护

C、安全测试

D、漏洞扫描

(2)安全日志是软件产品的一种被动防范措施,是系统重要的安全功能,因此安全日志测试是软件系统安全性测试的重要内容,下列不属于安全日志测试基本测试内容的是()

A、对安全日志的完整性进行测试,测试安全日志中是否记录包括用户登录名称、时间、地址、数据 *** 作行为以及退出时间等全部内容

B、对安全日志的正确性进行测试,测试安全日志中记录的用户登录、数据 *** 作等日志信息是否正确

C、对日志信息的保密性进行测试:测试安全日志中的日志信息是否加密存储,加密强度是否充分

D、对于大型应用软件系统:测试系统是否提供安全日志的统计分析能力

(3)用户口令测试应考虑的测试点包括( )。

①口令时效 ②口令长度③口令复杂度 ④口令锁定

A、①③④

B、②③④

C、①②③

D、①②③④

练习题参考答案

(1)解析: 本题考查信息安全和安全测试的基础知识。

信息安全防护策略 包括入侵检测、隔离防护、安全日志和漏洞扫描四种。具体内容如下所示:

1 )、入侵检测: 是一种主动的网格防护措施,从系统内部或各种网络资源中主动采取信息,从中分析可能的网络入侵或攻击,通常IDS还应对入侵行为做出紧急响应。

2 )、隔离防护: 是将系统中的安全部分和非安全部分进行隔离的措施,主要技术手段有防火墙和隔离网闸等,其中防火墙主要用于内网和外网的逻辑隔离;而隔离网闸主要用于实现内网和外网的物理隔离。

3 )、安全日志: 用于记录非法用户的登录名称、 *** 作时间等内容信息。以便发现问题并提出解决措施。安全日志仅记录相关信息,不对非法行为做出主动反应,属于被动防护策略。

4 )、漏洞扫描: 对软件系统及网络系统进行与安全相关的检测,找出安全隐患和可能被黑客利用的漏洞。

安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程,不属于安全防护策略的范畴。故该题目的正确答案为C。

 

(2)解析: 本题考查安全测试中安全日志测试的基础知识。

安全日志 用于记录非法用户的登录名称、 *** 作时间等内容信息。以便发现问题并提出解决措施。安全日志仅记录相关信息,不对非法行为做出主动反应,属于被动防护策略。

系统安全日志在每次开关机、运行程序、系统报错时,这些信息都会被记录下来,保存在日志文件中。但是日志本身是不需要加密存储的,故该题目的正确答案为C。

 

(3)解析: 本题考查安全测试中用户口令测试的基础知识。

web系统容易受到攻击,一般会对用户名/口令(密码)机制进行认证。对口令认证机制测试应包含的基本测试点如下所示:

1)、对用户名称测试的主要测试点在于测试用户名称的唯一性,即测试同时存在的用户名称在不考虑大小写的情况下,不能够同名。

2)、对用户口令测试应主要测试用户口令是否满足当前流行的控制模式。主要测试点应包括最大/最小口令时效、口令历史、最小口令长度、口令复杂度、加密选项及口令锁定等。因此本题①②③④都属于用户口令安全保护相关的内容。

故该题目的正确答案为:D。

写于2020年10月19日

软件测试培训内容包含:

一、计算机基础、软件测试核心理论、"环境配置实践(Linux *** 作系统+MySQL+Oracle)"、功能测试实战。

二、Python编程技术、自动化测试入门、Web自动化测试:Selenium、Web自动化测试项目实战、移动自动化测试:Appium、移动自动化测试实战。

三、接口测试综合核心理论、Jmeter、接口测试实战、网络安全测试。

四、性能测试核心理论、Loadrunner、性能测试实战。

学习软件测试推荐选择达内教育,秉承“名师出高徒、高徒拿高薪”的教学理念,是达内公司确保教学质量的重要环节。作为美国上市职业教育公司,诚信经营,拒绝虚假宣传是该机构集团的经营理念。该机构在学员报名之前完全公开所有授课讲师的授课安排及背景资料,并与学员签订《指定授课讲师承诺书》,确保学员利益。感兴趣的话点击此处,免费学习一下

想了解更多有关软件测试培训的相关信息,推荐咨询达内教育。达内与阿里、Adobe、红帽、ORACLE、微软、美国计算机行业协会(CompTIA)、百度等国际知名厂商建立了项目合作关系。共同制定行业培训标准,为达内学员提供高端技术、所学课程受国际厂商认可,让达内学员更具国际化就业竞争力。达内IT培训机构,试听名额限时抢购。

之前为大家简单介绍了关于软件和产品的可用性测试的一些注意事项和概念分析等内容,今天IT培训就来聊聊关于可用性测试的具体 *** 作步骤都有哪些。

1确定测试任务

也就是给用户找点事做。测试任务反应用户的实际目标,而不是我们期望用户做的事。

11确定任务清单,来自产品or交互提出的需要测试的任务点

12把任务转化为场景,用用户的语言,有一些情景的细节,以便让用户融入测试中。

13在每个场景下列出具体的用户任务和探寻点。要注意的是,这写任务不能框定得太死,直接告诉用户具体的 *** 作步骤,而是观察用户会注意到哪些信息点,会进行哪些 *** 作。

2招募用户——典型而有代表性

确定招募标准,想要招募什么样的用户,要有什么产品的使用经验、用户的细分和配比、人口学特征、所需的态度(有使用需求)和行为特征(eg性格外向,近没有参见过相关调研等)

筛选方法:可以通过问卷来筛选用户。

用户数量:五个用户能发现大多数可用性问题

哪里招募:公司内部,亲戚朋友,用户池,现有用户,产品论坛

邀请用户:正式的邀请的短信

约定时间:列好时间排期表

3预实验测试用户测试本身。

检查访谈指南的台词、用户完成的时间,以及任务说明是否包含暗示(是否有非常容易完成的任务)

4测试前准备

会议室/测试机/问卷/demo/记录纸/便签

5测试流程

暖场-测试前访谈-执行-测试后问卷-感谢酬劳-初始化

51暖场:自我介绍;解释测试的目的和时间;强调测试的对象是产品而不是用户;请用户尽量“发声思维”;告知用户会录像;签署保密协议

52测试前访谈:了解用户的职业、上网情况、产品使用情况、平时的产品偏好

53测试执行:宣读任务,整个过程中不纠正错误,不提供帮助,适当鼓励,仔细观察和聆听用户的建议,适当简单追问“为什么刚才这样 *** 作”(帮助用户习惯出声思考)

观察重点:用户是否独立完成任务;若独立完成,则是否在过程中做了无效 *** 作或者有不知所措的情况;是否有不满的情况,用得不舒服的页面。

记录重点:行为和动作;用户的想法(通过 *** 作步骤来反应);问题(用户说的)。要记录问题,而不急于寻求答案

问题探讨:在测试过程中打断用户或者在后询问用户。询问整个过程中想深入但没有问的问题;询问观察的同事关心的问题

及时记录:趁记忆犹新记录下来。可以巧用便利贴,每张便利贴记录一个独立的现象(用户 *** 作/建议/抱怨),在左上角写任务编号,右上角写用户编号,此现象对用户完成任务的影响写在下方。

尽可能地把有话语权的人参与进来。做到隐形的观察者,只观察页面发生了什么或者用户说了什么,不动、不说、不看,不把观察等同于分析。

54测试后访谈

如果在 *** 作用的提问会对 *** 作产生较大影响,就要避免中途打断,而在事后访谈补全信息。另外还可用use量表(共30项)和as形容词量表对用户的满意度进行评估。

基本要求:

1熟悉软件质量、软件测试及软件质量保证的基础知识;

2掌握代码检查、走查与评审的基本方法和技术;

3掌握白盒测试和黑盒测试的测试用例的设计原则和方法;

4掌握单元测试和集成测试的基本策略和方法;

5了解系统测试、性能测试和可靠性测试的基本概念和方法;

6了解面向对象软件和WEB应用软件测试的基本概念和方法;

7掌握软件测试过程管理的基本知识和管理方法;

8熟悉软件测试的标准和文档;

9掌握QESuite软件测试过程管理平台和QESat/C++软件分析和工具的使用方法。

考试内容:

一、软件测试的基本概念

1软件质量的概念。

2软件测试的目标和原则。

3软件测试的心理学。

4软件测试的经济学。

5软件质量保证。

二、软件测试的类型及其在软件开发过程中的地位

1软件开发阶段。

2规划阶段的测试。

3设计阶段的测试。

4编码阶段的测试。

5验收和维护阶段的测试。

三、代码检查、走查与评审

1桌面检查。

2代码走查。

3代码检查。

4同行评审。

四、覆盖率(白盒)测试

1覆盖率测试。

2逻辑结构的覆盖率测试。

3路径覆盖率测试。

4数据流测试。

5程序变异测试。

6基于覆盖的测试用例选择。

五、功能(黑盒)测试

1边界值测试。

2等价类测试。

3基于因果图的测试。

4基于决策表的测试。

5基于状态图的测试。

6基于场景的测试。

7比较测试。

六、单元测试和集成测试

1单元测试的目标和模型。

2单元测试策略。

3单元测试分析。

4单元测试的测试用例设计原则。

5集成测试基本概念。

6集成测试策略。

7集成测试分析。

8集成测试用例设计原则。

七、系统测试

1系统测试概念。

2系统测试方法。

3系统测试的实施。

八、软件性能测试和可靠性测试

1软件性能的概念。

2性能测试的执行。

3软件可靠性的概念。

4可靠性预计。

5可靠性分析方法。

6软件可靠性测试的执行。

九、面向对象软件的测试

1面向对象软件测试的问题。

2面向对象软件测试模型。

3面向对象软件的测试策略。

4面向对象软件的单元测试。

5面向对象软件的集成测试。

6面向对象软件的系统测试。

十、Web应用测试

1应用服务器的分类和特征。

2Web应用系统的特点。

3Web应用系统的测试策略。

4Web应用系统测试技术。

5Web应用系统安全测试。

十一、其他测试

1兼容性测试。

2易用性测试。

3GUI测试。

4构件测试。

5极限测试。

6文档测试。

十二、软件测试过程和管理

1软件测试过程概念。

2测试组织管理。

3测试计划的制定。

4测试步骤的确定。

5测试环境管理。

6软件测试风险分析和成本管理。

7测试文档管理。

8测试的复用与维护。

十三、软件测试自动化

1测试自动化的原理、方法。

2测试用例自动生成。

3测试执行自动化。

4测试结果比较自动化。

5测试工具的分类和选择。

6测试工具的主流产品介绍。

十四、软件测试的标准和文档

1软件测试的标准。

2软件测试的文档。

十五、软件测试实践

1软件测试过程管理。

(1)软件测试过程管理概念。

(2)测试的设计。

(3)测试的准备。

(4)测试的执行。

(5)软件问题报告和软件问题生命周期。

(6)测试的总结。

(7)QESuite软件测试过程管理平台。

2白盒测试实践。

(1)被测程序说明。

(2)静态分析。

(3)被测程序的插装和动态测试。

(4)QESAT/C++白盒测试工具。

考试方式:

一、包括软件测试基本原理、测试方法、技术基础知识部分,采用笔试考试,考试时间120分钟,满分100分。

二、软件测试工程实践部分,上机 *** 作完成下列内容:

1软件测试过程管理实践,包括测试设计、测试准备、测试用例的执行、软件问题报告的填写、软件问题的跟踪解决。

内容描述:

(1)给定一个被测系统地描述,要求建立测试项目组、分配人员角色、进行系统功能分解、编写测试用例。

(2)执行测试,对于发现的测试问题填写软件问题报告。

(3)作为测试/开发人员,追踪处理问题报告的状态转换,直至问题的解决。

整个过程通过QESuite软件测试过程管理平台进行。

2白盒测试实践。针对给定的被测程序设计测试用例进行测试,达到要求的语句覆盖率和分支覆盖率。

内容描述:

(1)对于给定的C语言被测程序,编写测试用例。

(2)使用QESAT/C++白盒测试工具进行静态分析并插装被测程序。

(3)执行测试用例,进行动态测试。

(4)使用QESAT/C++白盒测试工具检查测试覆盖率,直到达到所要求覆盖率。

3上机考试时间120分钟;满分100分。

有难度 说的很详细!

以上就是关于关于初学软件测试工程师的都需准备些什么高手指点。全部的内容,包括:关于初学软件测试工程师的都需准备些什么高手指点。、0基础怎么学软件测试、软件评测师写作专栏之安全测试的基础知识26等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/8769692.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-21
下一篇 2023-04-21

发表评论

登录后才能评论

评论列表(0条)

保存