精华内容
下载资源
问答
  • 一、首先我们要了解我门做软件测试的原因,为什么要做软件测试 1、软件产品的监视和测量 对软件产品的特性进行监视和测量,主要依据软件需求规格说明书,验证产品是否满足要求。所开发的软件产品是否可以交付,要...

    一、首先我们要了解我门做软件测试的原因,为什么要做软件测试
    1、软件产品的监视和测量

    对软件产品的特性进行监视和测量,主要依据软件需求规格说明书,验证产品是否满足要求。所开发的软件产品是否可以交付,要预先设定质量指标,并进行测试,只有符合预先设定的指标,才可以交付。

    2、对不符合要求的产品的识别和控制

    对于软件测试中发现的软件缺陷,要认真记录它们的属性和处理措施,并进行跟踪,直至最终解决。在排除软件缺陷之后,要再次进行验证。

    3、产品设计和开发的验证

    通过设计测试用例对需求分析、软件设计、程序代码进行验证,确保程序代码与软件设计说明书的一致,以及软件设计说明书与需求规格说明书的一致。对于验证中发现的不合格现象,同样要认真记录和处理,并跟踪解决。解决之后,也要再次进行验证。

    4、软件过程的监视和测量

    从软件测试中可以获取大量关于软件过程及其结果的数据和信息,它们可用于判断这些过程的有效性,为软件过程的正常运行和持续改进提供决策依据。

    二、为什么要做自动测试?好处是什么?
    1、缩短测试周期

    2、避免人为出错

    说到自动化测试,与之对应的就是手工测试,所谓“人非圣贤,孰能无过”,传统的手工测试很大部分依赖于人,简单概括起来出错的可能性会有:

    * 用例执行方法出错

    * 输入数据出错

    * 用例执行步骤出错

    * 测试报告数据出错

    * 忘了执行某些用例

    * 忘了设置预置条件

    * 错误的理解被测系统的行为

    通过实现自动化,可以避免出现这些错误。

    3、测试信息存储

    自动化测试主要通过自动化脚本实现,和传统的手工用例相比,脚本中可以记录测试点,测试拓扑图,测试设计思路等信息,是非常理想的测试信息存储处,即“脚本体现思路”。另外带来的好处就是新人接收测试时,可以快速掌握已测试点,因为可以通过运行了解测试。

    4、轻易获取覆盖率

    在较好的自动化框架下,测试执行完自动化脚本,可以轻易的获取到代码覆盖率,进而根据覆盖情况分析,进行测试用例补充。

    5、其他

    比如:自动生成清晰的测试报告,定时执行测试套,数据驱动测试的测试套重用等。这些是本人暂未体会到的,但和一个网友交流时获取的。

    三、自动化软件测试的学习路线
    (1)自动化测试的学习步骤;

    (2)自动化测试需要掌握的技术能力;

    (3)自动化测试的认识误区

    首先要说的就是自动化测试的学习步骤

    1. 做好手工测试(了解各种测试的知识)->  2. 学习编程语言-> 3. 学习Web基础-> 4. 学习自动化测试工具 ->5. 学习自动化测试框架 -> 6. 实现自动化测试用例 -> 7. 开发自动化测试工具 ->8. 开发自动化测试框架
    

    按照这个步骤来说,基本上到第7步,难度就比较大了,这个时候也可以称呼自己为“测试开发”。

    下面说说第二个问题,做自动化测试需要掌握哪些技能。当初自己做的时候一直是基于Python去做的自动化,同时Python自动化也比java自动化更为容易上手一些,在这里我就按照Python自动化的思路去说一下如何学习自动化,解答完这个问题,文章的后半部分也会分享一下做自动化测试中容易出现的一些问题。老规矩,思维导图放在文末。

    一.首先要学会一门语言,java或者Python,这里针对Python去说。如果要能够满足自动化测试的需求,不要求Python的能力上来就达到精通的水平,但是最起码的使用是要有的,然后在后期在逐步根据测试工具进行进阶。
    在这里插入图片描述
    二、需要掌握前端的一些知识,无论学习语言还是前端知识,都是为了接下来的脚本和框架做铺垫。
    在这里插入图片描述
    三、数据库的重要性不言而喻,MySQL必须掌握
    在这里插入图片描述
    四.web端自动化测试工具selenium
    在这里插入图片描述
    五、接口测试自动化工具jmeter、postman等
    在这里插入图片描述
    六、移动端自动化测试appium
    在这里插入图片描述
    自动化测试的12个认识误区

    1、自动化的软件测试与手工的软件测试过程一样

    自动化测试所需要的技巧与手工测试所需要的技巧是不一样的。

    通常,你的项目经理会被那些测试工具销售们迷惑,认为自动化的软件测试就是简单地按一个录制的按钮,产生测试脚本。而事实上并没有那么简单。

    区分自动化测试所需要的技巧与手工测试所需要的技巧是非常重要的。最重要的是,自动化测试工程师需要掌握软件开发技巧,没有接受任何培训的手工测试人员,或者没有编程背景的手工测试人员,在实施自动化测试时会碰到很多困难。

    2、自动化测试一定会马上大量减少测试人员数量

    自动化测试不会马上大量减少测试人员数量。因为开展自动化测试初期需要投入一定的人力进行自动化测试脚本开发,并逐渐将自动化测试脚本用于日常的测试中,逐步减少手工测试人员从事重复劳动的时间和人数。为了缩短自动化测试脚本的开发时间,可以考虑将自动化测试脚本的开发工作借助外包的力量来早日实现大规模的自动化测试。

    3、测试自动化就是录制和回放

    仅仅录制得到的不是有效的自动化脚本。

    很多项目经理仍然把测试自动化等同于使用录制回放工具。而事实上,录制得到的脚本通常是不可重用的脚本,脚本中充满了硬编码的值,这些值应该被参数化,否则脚本仅仅适用于一个测试情况,脚本还应该加入条件判断、循环等结构,以便增强测试脚本的灵活性。

    4、自动化测试找不到bug

    自动化测试不直接找bug,而是通过解放有经验的测试工程师的生产力,让其从重复的回归测试中解放出来,从事新的测试方法和测试手段的研究。通过自动化测试解放出测试人员的时间和精力来间接地找到更多、更深层次的新bug,将产品质量再提高一个档次。

    5、自动化测试工具是“万能”的

    很多人一听到自动化测试,就认为自动化测试工具可以完成一切测试工作,从测试计划到测试执行再到测试结果分析,都不需要任何人工干预。显然,这是一种理想状态,现实中还没有哪个测试工具有这个能力,并且将来也不会有。在现实中有关的测试设计、测试案例,以及一些关键的测试任务还是需要人工参与的,即自动化测试是对手工测试的辅助和补充,它永远也不可能完全取代手工测试。

    6、自动化测试工具容易使用

    对于这一点,很多测试工程师有同样的错误观点,认为测试工具可以简单地通过捕获(录制)客户端操作生成脚本,且脚本不加编辑就可用于回放使用。事实上,自动化测试不是那么简单的,捕获的操作是否正确,以及脚本编辑是否合理都会影响测试结果。因此,自动化测试需要更多的技能,也需要更多的培训。

    7、自动化能提供百分百的测试覆盖率

    并非所有内容都可以被自动化地测试到。不可能覆盖所有可能的输入,所有可能的组合和路径。

    自动化测试可以增加测试的广度和深度,但是仍然无法达到100%的测试覆盖率,因为没有足够的时间或资源。

    8、忘记了测试的最终目标:找到BUG

    在自动化测试中,同样要注意把边界值分析、等价类分析、基于风险的测试方法、挑选最合适的测试用例等技术应用起来。

    通常在自动化测试过程中,我们都忙着搭建自动化框架和编写测试脚本,但是我们往往忘记了测试的本来目的:找bug。

    项目经理可能雇佣了最好的自动化开发人员来搭建框架,使用了最新最好的自动化开发技术,创建了成千上万的自动化测试脚本。但是如果BUG仍然被遗漏了,那些本该被自动化测试脚本捕捉到的BUG,结果没有被捕捉到,那么你的自动化测试仍然会被认为是失败的。

    9、所有测试用例都可以自动化

    不是所有的测试用例和测试步骤都可以转化为自动化测试。在自动化测试投入较多的行业,领先企业的自动化测试率有的能达到80%左右,但仍有20%左右的测试用例需要手工来进行。在国外,通常从开发第一版测试用例时,就同步进行自动化测试脚本的开发,所以自动化测试率普遍比中国企业高。

    10、只有性能测试才需要自动化

    自动化测试不光进行性能测试,更被大量应用于功能测试验证,在国外超过半数的自动化测试脚本都是用于功能验证测试的。

    11、测试工具可适用于所有的测试

    每种自动化测试工具都有它的应用范围和可用对象,所以不能认为一种自动化测试工具能够满足所有测试的需求。针对不同的测试目的和测试对象,应该选择合适的测试工具来对它进行测试。在很多情况下,需要利用多种测试工具或者开发自动化测试框架才能达到自动化测试的目的。商业和开源的测试工具能够用来进行自动化测试,但是我们需要根据自身产品的特点,开发自动化测试框架,在框架中提供常用的测试用例,加快测试速度,达到测试用例复用,这是今后测试自动化发展的道路。

    12、自动化测试能发现大量新缺陷

    发现更多的新缺陷应该是手工测试的主要目的,不能期望自动化测试去发现更多新缺陷。事实上,自动化测试主要用于发现原来的缺陷。自动化测试用于回归测试,而大量的新业务测试更多地还是依赖手工测试。

    除了以上列举的常见误区外,还有其他不同的认识误区。自动化测试认识误区的产生,归根到底最本质的原因是由于对自动化测试不现实的期望,也就是期望过高造成的。

    如果没有建立一个正确的软件测试自动化的观念,认为测试自动化可以完全代替手工测试,或者认为测试自动化可以发现大量新缺陷,或者不愿在初期投入比较大的开支等,则自动化测试一定会让我们大失所望。

    相信通过这样的解答,明白了什么时候用手工测试,什么时候用自动化测试,并且知道了自动化测试的局限性,这样就不会对做自动化测试的意义产生质疑了。

    学习路线会根据现实需求做出调整,需要最新的学习路线图[可点这]Q -q - u -n领取

    展开全文
  • 五大最佳自动化软件测试工具

    千次阅读 2019-10-22 14:39:45
    最好的自动化软件测试工具 对测试自动化的依赖性增加导致大量自动化软件测试工具的出现,使得很难确定哪些是最好的。为了帮助您完成自动化工作,我们根据自己和他人的经验创建了五大最佳自动化软件测试工具列表。 ...

    最好的自动化软件测试工具

    对测试自动化的依赖性增加导致大量自动化软件测试工具的出现,使得很难确定哪些是最好的。为了帮助您完成自动化工作,我们根据自己和他人的经验创建了五大最佳自动化软件测试工具列表。

    1. Selenium

    Selenium可以说是web开发人员和测试人员中最受欢迎的自动化软件测试工具。它于2004年首次发布,从那时起它发生了很大变化。最新版本的Selenium包含几个组件,包括Selenium IDE和Selenium WebDriver。

    Selenium IDE是一个用于Selenium测试的完整集成开发环境(IDE),主要用于创建快速错误复制脚本和脚本,以帮助进行自动化辅助探索性测试。另一方面,Selenium WebDriver是一个用于驱动浏览器的特定于语言的绑定的集合,它的开发是为了更好地支持动态网页。Selenium与所有主流Web浏览器兼容,并支持许多流行的编程语言,包括JavaScript,Java,Ruby,Python,PHP和C#,仅举几例。虽然Selenium可以在没有任何编程技能的情况下编写自动化测试,但复杂的测试脚本需要高级编程技能。

    考虑到Selenium是免费的,开源的,并且得到了一些最大的浏览器供应商的支持,所有想要具有竞争力的自动化测试人员都应该将Selenium视为专业投资,至少要熟悉它。

    2.Appium

    Appium是一款自动化软件测试工具,可与本机,混合和移动Web应用程序配合使用。随着移动应用程序的增加和主要应用程序商店的竞争日益激烈,迫切需要向消费者提供高质量的应用程序。

    Appium的目标是在没有SDK或重新编译的情况下自动化移动应用程序测试。Appium允许测试人员使用他们喜欢的工具和编程语言编写测试。开始使用Appium几乎不容易,这个卓越的自动化软件测试工具是开源的,并在GitHub上公开托管。

    Appium已成功用于自动化大型回归测试,将手动测试用例转换为自动脚本等。因为它既支持Android又支持iOS,因此无需为每个平台学习新语言,从而节省时间并符合大多数应用开发人员的需求。

    3. Katalon Studio

    Katalon Studio是一个基于Selenium和Appium框架构建的跨平台自动化测试解决方案。它完全免费,易于部署,其超过100,000名自动化测试人员的活跃社区创建了大量的教程和指南,使学习如何轻松使用Katalon Studio。

    非程序员可以使用Katalon Studio记录测试脚本,而具有一些编程知识的自动化测试人员可以探索Katalon Studio的一些更高级的功能,并使用Groove,Java或JavaScript创建功能强大的自动化脚本。

    Katalon Studio可与QA流程中的常用工具配合使用,并可集成到CI / CD流程中。还有一个简化版的Katalon Studio,名为Katalon Recorder,它可以在几秒钟内安装在Chrome和Firefox上。

    4. Cucumber

    Cucumber是一种流行的自动化软件测试工具,支持行为驱动开发(BDD),这是一个软件开发过程,在开发过程中实现重要的验收测试场景,以帮助组织最大限度地利用软件测试。

    虽然Cucumber最初专门用于Ruby测试,但它现在通过各种实现支持各种不同的编程语言,包括JavaScript,Java,PHP和Lua。Cucumber还有自己的编程语言,称为Gherkin。Gherkin用于定义测试用例,旨在提供人类可读性,其目的是促进BDD实践。

    Cucumber非常适合那些希望专注于最终用户体验并且甚至涉及那些无法编码的利益相关者的人。它也是免费的,易于设置,已经下载超过3000万次,使其成为世界上最流行的BDD自动化软件测试工具。

    5. Eggplant Functional

    Eggplant Functional由Doug Simons,Jonathan Gillaspie和John McIntosh构思,并于2002年由Redstone Software首次发布。与此列表中的其他自动化软件测试工具不同,Eggplant Functional使用基于图像的方法进行测试,而不是从对象角度查看测试的应用程序。这意味着用于构建测试应用程序的技术与应用程序运行的系统无关。

    可以使用一些最流行的持续集成和应用程序生命周期管理(ALM)工具的插件,包括IBM UrbanCode,Bamboo,HP Application Lifecycle Management,IBM RQM和Jenkins等。由于Eggplant Functional已经获得了其智能图像识别方法的专利,因此它在市场上享有一定的优势地位,但其成就独立存在。

    结论

    自SQA,Mercury和Segue时代以来,自动化测试已经成熟。现代自动化软件测试工具功能多样,经过精心设计,并且能够支持任何声音测试策略。在选择自动化软件测试工具时,重要的是不要让工具的受欢迎程度和围绕它的炒作影响决策过程。

    展开全文
  • 兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。 兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格 式的兼容。 兼容测试的重点是...

    前言:相信大家都有这样一个忧虑就是面试,不管我们要找什么工作,面试都会是必不可少的,下面是整理出来的面试题和我的一些见解觉得不对的在评论区留言 !

    1、什么是兼容性测试?兼容性测试侧重哪些方面?

    参考答案:
    兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。
    兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格
    式的兼容。
    兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定
    的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能够
    得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测
    试的兼容环境了。
    兼容和配置测试的区别在于,做配置测试通常不是 Clean OS 下做测试,而兼容
    测试多是在 Clean OS 的环境下做的。

    2、我现在有个程序,发现在 Windows 上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?

    参考答案:
    1、检查系统是否有中毒的特征;
    2、检查软件/硬件的配置是否符合软件的推荐标准;
    3、确认当前的系统是否是独立,即没有对外提供什么消耗 CPU 资源的服务;
    4、如果是 C/S 或者 B/S 结构的软件,需要检查是不是因为与服务器的连接有问
    题,或者访问有问题造成的;
    5、在系统没有任何负载的情况下,查看性能监视器,确认应用程序对 CPU/内
    存的访问情况。

    3、测试的策略有哪些?

    参考答案:
    黑盒/白盒,静态/动态,手工/自动,冒烟测试,回归测试,公测(Beta 测试的策
    略)

    4、正交表测试用例设计方法的特点是什么?

    参考答案:
    用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;
    对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;
    具体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法。

    5、描述使用 bugzilla 缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程?

    参考答案:
    就是 Bugzilla 的状态转换图。

    6、你觉得 bugzilla 在使用的过程中,有什么问题?

    参考答案:
    界面不稳定;
    根据需要配置它的不同的部分,过程很烦琐。
    流程控制上,安全性不好界定,很容易对他人的 Bug 进行误操作;
    没有综合的评分指标,不好确认修复的优先级别。

    7、描述测试用例设计的完整过程?

    参考答案:
    需求分析 + 需求变更的维护工作;
    根据需求 得出测试需求;
    设计测试方案,评审测试方案;
    方案评审通过后,设计测试用例,再对测试用例进行评审;

    如图:
    在这里插入图片描述

    8、单元测试的策略有哪些?

    参考答案:
    逻辑覆盖、循环覆盖、同行评审、桌前检查、代码走查、代码评审、景泰数据流分

    9、LoadRunner 分哪三部分?

    参考答案:
    用户动作设计;
    场景设计;
    测试数据分析;

    10、LoadRunner 进行测试的流程?

    参考答案:
    1、 制定测试方案
    2、 创建虚拟用户脚本(开发测试脚本)
    3、 设计测试场景
    4、 运行测试脚本
    5、 监视场景
    6、 分析测试的结果
    在这里插入图片描述

    以上,最好是结合一个案例,根据以上流程来介绍。

    11、什么是并发?在 lordrunner 中,如何进行并发的测试?集合点失败了会怎么样?

    参考答案:
    在同一时间点,支持多个不同的操作。
    LoadRunner 中提供 IP 伪装,集合点,配合虚拟用户的设计,以及在多台电脑上设置,可以比较好的模拟真实的并发。
    集合点,即是多个用户在某个时刻,某个特定的环境下同时进行虚拟用户的操作的。
    集合点失败,则集合点的才操作就会取消,测试就不能进行。

    12、使用QTP 做功能测试,录制脚本的时候,要验证多个用户的登录情况/查询 情况,如何操作?

    参考答案:
    分析用户登录的基本情况,得出一组数据,通过性测试/失败性测试的都有(根据TC 来设计这些数据),然后录制登录的脚本,将关键的数据参数化,修改脚本,对代码进行加强,调试脚本。

    13、QTP 中的 Action 有什么作用?有几种?

    参考答案:
    Action 的作用

    1. 用 Action 可以对步骤集进行分组
    2. 步骤重组,然后被整体调用
    3. 拥有自己的 sheet
    4. 组合有相同需求的步骤,整体操作
    5. 具有独立的对象仓库

    Action 的种类

    1. 可复用 Action
    2. 不可复用 Action
    3. 外 部 Action

    14、TestDirector 有些什么功能,如何对软件测试过程进行管理?

    参考答案:
    需求管理

    1. 定义测试范围
    2. 定义需求树
    3. 描述需求树的功能点

    测试计划

    1. 定义测试目标和测试策略。
    2. 分解应用程序,建立测试计划树。
    3. 确定每个功能点的测试方法。
    4. 将每个功能点连接到需求上,使测试计划覆盖全部的测试需求。
    5. 描述手工测试的测试步骤
    6. 指明需要进行自动测试的功能点

    测试执行

    1. 定义测试集合。
    2. 为每个测试人员制定测试任务和测试日程安排。
    3. 运行自动测试。

    缺陷跟踪

    1. 记录缺陷
    2. 查看新增缺陷,并确定哪些是需要修正的
    3. 相关技术人员修改缺陷 n 回归测试
    4. 分析缺陷统计图表,分析应用程序的开发质量。

    15、你所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的 区别与联系(如功能测试、性能测试……)?

    参考答案

    1. Compatibility Testing(兼容性测试),也称“Configurationtesting(配置测试)”,测试软件是否和系统的其它与之交互的元素之间兼容,如:浏览器、操作系统、硬件等。验证测试对象在不同的软件和硬件配置中的运行情况。
    2. Functional testing (功能测试),也称为 behavioral testing(行为测试),根据产品特征、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。本地化软件的功能测试,用于验证应用程序或网站对目标用户能正确工作。使用适当的平台、浏览器和测试脚本,以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。
    3. Performance testing(性能测试),评价一个产品或组件与性能需求是否符合的测试。包括负载测试、强度测试、数据库容量测试、基准测试等类型。

    16、软件缺陷(或者叫 Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷 (Bug)记录?

    参考答案:5C 标准

    17、Beta 测试与 Alpha 测试有什么区别?

    参考答案

    1. Beta testing(β测试),测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场
    2. Alpha testing (α测试),是由一个用户在开发环境下进行的测试,也可以是公司
      内部的用户在模拟实际操作环境下进行的受控测试

    18、软件的评审一般由哪些人参加?其目的是什么?

    参考答案:
    在正式的会议上将软件项目的成果(包括各阶段的文档、产生的代码等)提交给用户、客户或有关部门人员对软件产品进行评审和批准。其目的是找出可能影响软件产品质量、开发过程、维护工作的适用性和环境方面的设计缺陷,并采取补救措施,以及找出在性能、安全性和经济方面的可能的改进。

    人员:用户、客户或有关部门开发人员,测试人员,需求分析师都可以,就看处于评审那个阶段

    19、测试活动中,如果发现需求文档不完善或者不准确,怎么处理?

    参考答案:
    测试需求分析发现需求文档不完善或者不准确,应该立即和相关人员进行协调交流。

    20、阶段评审与项目评审有什么区别?

    参考答案:
    阶段评审对项目各阶段评审:对阶段成果和工作
    项目评审对项目总体评审:对工作和产品

    21、阐述工作版本的定义?

    参考答案:
    构 造 号 : BUILD

    22、什么是桩模块?什么是驱动模块?

    参考答案:
    桩模块:被测模块调用模块
    驱动模块:调用被测模块

    23、什么是扇入?什么是扇出?

    参考答案:
    扇入:被调次数
    扇出:调其它模块数目

    24、你认为做好测试计划工作的关键是什么?

    参考答案:
    软件测试计划就是在软件测试工作正式实施之前明确测试的对象,并且通过对资
    源、时间、风险、测试范围和预算等方面的综合分析和规划,保证有效的实施软件
    测试;
    做好测试计划工作的关键:目的,管理,规范

    1. 明确测试的目标,增强测试计划的实用性,编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确
    2. 坚持“5W”规则,明确内容与过程“5W”规则指的是“What(做什么)”、“Why(为什么做)”、“When(何时做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和
      软件的存放位置(Where)。
    3. 采用评审和更新机制,保证测试计划满足实际需求测试计划写作完成后,如果没有经过评审,直接发送给测试团队,测试计划内容的可能不准确或遗漏测试内容,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更新,误导测试执行人员。
    4. 分别创建测试计划与测试详细规格、测试用例应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。

    25、你认为做好测试用例工作的关键是什么?

    参考答案:
    需求和设计文档的理解程度,对系统的熟悉程度

    26、简述一下缺陷的生命周期?

    参考答案:提交->确认->分配->修复->验证->关闭
    在这里插入图片描述

    27、软件的安全性应从哪几个方面去测试?

    参考答案:

    1. 用户认证机制:如数据证书、智能卡、双重认证、安全电子交易协议
    2. 加 密 机 制
    3. 安全防护策略:如安全日志、入侵检测、隔离防护、漏洞扫描
    4. 数据备份与恢复手段:存储设备、存储优化、存储保护、存储管理
    5. 防病毒系统

    28、软件配置管理工作开展的情况和认识?

    参考答案:
    软件配置管理贯穿于软件开发、测试活动的始终,覆盖了开发、测试活动的各个环节,它的重要作用之一就是要全面的管理保存各个配置项,监控各配置项的状态,并向项目经理及相关的人员报告,从而实现对软件过程的控制。
    软件测试配置管理包括 4 个最基本的活动:
    配置项标识
    配置项控制
    配置项状态报告
    配置审计
    软件配置管理通常借助工具来辅助,主要有 MS SourceSafe、RationalClearCase 等

    29、你觉得软件测试通过的标准应该是什么样的?

    参考答案:
    缺陷密度值达到客户的要求

    30、引入测试管理的含义?

    参考答案:
    风险分析,进度控制、角色分配、质量控制

    最后:测试人的福利

    技术行业,一定要提升技术功底,丰富自动化项目实战经验,这对于你未来几年职业规划,以及测试技术掌握的深度非常有帮助。

    金九银十面试季,跳槽季,整理面试题已经成了我多年的习惯!下面有我收集和整理,整体是围绕着【软件测试】来进行整理的,主体内容包含:Python自动化学习详细资料、全套面试题等知识内容。
    在这里插入图片描述
    在这里插入图片描述
    愿你我相遇,皆有所获! 点这里q-q-u-n: 免费领取一份软件测试工程师面试宝典文档资料。以及相对应的学习资料教程免费分享!

    展开全文
  • Python自动化测试面试题 一、问答题 1、自动化代码中,用到了哪些设计模式? 答:自动化代码用到过的设计模式: ①单例设计模式 ②工厂模式 ③PO设计模式 ④数据驱动模式 ⑤面向接口编程设计模式 2、什么是Selenium ...

    Python自动化测试面试题

    一、问答题

    1、自动化代码中,用到了哪些设计模式?

    答:自动化代码用到过的设计模式:

    ①单例设计模式

    ②工厂模式

    ③PO设计模式

    ④数据驱动模式

    ⑤面向接口编程设计模式

    2、什么是Selenium

    答:Selenium是一个开源的web自动化测试框架,支持多种编程语言开发自动化测试脚本,支持跨浏览器平台进行测试

    3、TestNG中注解有哪些?

    答:@Test,@BeforeSuite,@AfterSuite,@BeforeTest,@AfterTest,@BeforeClass,@AfterClass,@BeforeMethod,@AfterMethod,@DataProvider

    4、什么是断言?

    答:断言Assert用于在代码中验证实际结果是不是符合预期结果,如果测试用例执行失败会抛出异常并提供断言日志

    5、TestNG有哪些有点?

    答:TestNG的注释非常强大和方便,TestNG允许并行测试,并可以基于group的方式执行测试,还可以生成测试报表,并且报告展示多样化,可在其基础上自行开发测试报告插件以及测试监听器

    6、什么是web自动化测试?

    答:web自动化测试指的是从UI(用户界面)层面进行的自动化测试,测试人员通过编程自动化程度(测试用例脚本)来打开浏览器测试网站的业务逻辑

    7、写出Selenium中你最熟悉的接口或类?

    答:webDriver、lnternetExplorerDriver、FirefoxDriver、ChromeDriver、WebElement、WebDriverWait、By

    8、元素定位类型有哪些?

    答:By类一共有8中元素定位方式,他们都是静态方法:

    By.id(),By.name(),By.tagName(),By.className(),By.cssSelector(),By.linkText(),By.partialLinText(),By.xpath()

    9、登录按钮除了用click方法进行点击以外还有其他方式么?

    答:还可以使用submit()方法,前提是input元素的type为submit

    10、怎么对含有验证码的功能进行自动化测试的?

    答:1)图像识别,技术难度大,效果不佳,不推荐

    2)屏蔽验证,邀请开发处理,但在预生产环境或者生产环境不推荐

    3)万能验证码,使用一个负责的其他人无法猜到的验证码

    11、怎么验证复选按钮是不是被选中?

    答:可以使用元素的isSelected()方法,如果返回的是true则说明被选中,否则表明未被选中

    12、如何处理alert弹窗?

    答:处理alert弹窗首先需要先跳转到alert上,然后在点击确定或者取消按钮,

    Alert alet=driver.switchTo().alert();//切换到alert

    alert…accept();//确定

    alert.dismiss();//取消

    13、如何用webdriver进行鼠标右键点击操作?

    答:使用Actions类

    Actions actions=new Actions(driver);

    actions.moveToElement(element).perform();

    actions.contextClick().perform();

    14、举一个webDriver中方法重载的例子?

    答:frame(string nama),frame(int index),

    frame(WebElement element)

    15、下拉菜单中如何去选择一个菜单项?

    答:如果下拉菜单是select标签,使用方法:

    selectByValue()或者是selectBylndex()或者selectByVisibleText()即可

    如果这个下拉菜单不是通过select标签创建,则直接通过xpath定位元素然后去点击选择

    16、你的自动化用例的执行策略是什么?

    答:自动化测试与软件开发本质上是一样的,利用自动化测试工具,经过测试需求分析,设计出自动

    化测试用例,从而搭建自动化测试的框架,设计与编写自动化脚本,验证测试脚本的正确性,最终完

    成自动化测试测试脚本(即主要功能为测试的应用软件)并输出测试结果

    自动化测试的时候是不是需要连接数据库做数据校验?

    从数据库层面来进行数据校验可以更方便验证系统的数据处理方面是否正确,数据处理逻辑正常后,

    UI层面上的校验也是需要做的。

    17、id,name,class,xpath, css selector这些属性,你最偏爱哪一种,为什么?

    答:css 、xpath 几乎所有的元素都可以定位到,但是它们的短处在于页面上更改了元素后位置很容易

    改变,所以首先使用的还是id或者name等。

    18、APP 测试常见的严重问题有哪些? 分别引起的原因有哪些?

    答:常见的有 crash、ANR(应用无响应、卡死),一般由设备碎片化、网络波动大、内存泄漏、代

    码编写错误

    19、app 测试有哪几种环境?

    答:本地环境: app 安装的手机环境和电脑搭建的自动化测试环境(比如安卓 SDK 等等) 。

    服务器环境: war 包部署的服务器, 服务器可以通过浏览器访问, 也可以通过 app 去访问。(访问

    的是 web 程序的接口)

    20、简单介绍一下 Android SDK 的安装步骤:

    答: 下载 jdk 和安卓 sdk

    安装 jdk, 配置环境变量(java_home、 classpath、 path)

    21、当一个接口出现异常时候,你是如何分析异常的?

    答:先抓包,用fiddler(charles)工具抓包,或者浏览器上F12调试工具;APP上的话,那就用

    Fiddler做代理,通过手机设置代理去看请求和返回报文;

    查看后端日志,如Linux系统通过xhell连上服务器,查看接口日志,查看是否有报错信息(命令:tail -

    f 日志文件);

    22、如何分析一个bug是前端还是后端的?

    答:平常提bug的时候,前端开发和后端开发总是扯皮,不承认是对方的bug。

    这种情况很容易判断,先抓包看请求报文,对着接口文档,看请求报文有没问题,有问题就是前端发

    的数据不对;

    请求报文没问题,那就看返回报文,返回的数据不对,那就是后端开发的问题。

    资料

    以上的是个人整理出来的面试资料,需要的点这里Q-q-u-n领取,点文件下载就OK了!

    展开全文
  • 十大自动化软件测试工具

    千次阅读 2021-03-08 13:43:25
    十大自动化软件测试工具
  • 上网找了一下发现可以使用chrome_options 设置 disable-infobars 这个参数禁用掉。 然后就顺着这个思路到 selenium 库里面去找到这个文件 F:\Python27\Lib\site-packages\selenium-2.xx.x-xxxx\selenium\webdriver\...
  • 关于软件测试行业前景的问题,是很多在行业外观望的同学甚至是刚刚入行的朋友都密切关注的一个问题,毕竟这个问题关系到自己未来的收入,甚至是决定自己的职业发展方向。 那么当真正思考这个大问题的时候,内心是会...
  • 工业自动化软件

    千次阅读 2012-09-21 09:59:09
    工业自动化软件技术的发展   目前在国外,很多发达国家及有些发展中国家普遍采用美国Wonderware工业自动化软件套件技术,根据用户需求构建系统,实现对复杂工业大系统的控制与管理.例如,在20世纪90年代印度最大的...
  • 这个是本人在淘宝19.9买的 就公开给你们了 之前也有发过B站 无奈太多 文件太大 只能放弃就分享到博客里面了,需要的可以下载看 这个是17年黑马开的第一期自动化测试版 说实话 老师不怎么好 说话听着就打瞌睡 ,反正快...
  • GEM/SECS设备自动化和EAP自动化软件

    万次阅读 热门讨论 2019-09-24 14:19:16
    半导体行业也工作七八年了,发现目前国内的SEMI标准软件基本没有,半导体fab厂也只是简单用一下控制指令功能逻辑都比较简单。对设备的监控这块更是缺失。对基本的异常 远程都处理不了,相当于一个半自动化状态。 对...
  • 自动化设备的软件框架

    千次阅读 2018-10-25 16:53:40
    自动化设备的软件主要由2部分组成: 运动控制部分的软件实现 上位机处理数据并显示结果的软件实现。 运动控制的实现  第1部分的实现主要有2种方式,一种是用板卡控制的方式,一种是用PLC控制的方式。前者最大的...
  • 软件自动化测试浅析

    万次阅读 多人点赞 2019-03-31 21:27:58
    软件测试(Software Testing): 描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。 软件测试并不只是一个发现软件BUG的过程,通过找出错误,分析其产生的原因和错误的发生趋势,可以帮助项目管理者...
  • 软件自动化测试基本流程(附流程图)

    万次阅读 2020-06-09 14:37:58
    自动化测试与软件开发过程从本质上来讲是一样的,无非是利用自动化测试工具(相当于软件开发工具),经过对测试需求的分析(软件过程中的需求分析),设计出自动化测试用例(软件过程中的需求规格),从而搭建自动化测试的框架...
  • 软件测试面试题整理(一)之自动化测试题大合集

    千次阅读 多人点赞 2020-11-01 23:25:18
    被测软件的开发较为规范,能够保证系统的可测试行 28 请描述一下自动化测试流程? 1.编写自动化测试计划 2.设计自动化测试用例 3.编写自动化测试框架和脚本 4.调试并维护脚本 5.无人值守测试 6.后期脚本维护(添加...
  • 图像识别与软件自动化测试

    千次阅读 2017-09-21 19:56:44
     自动化测试技术目前已广泛应用于软件开发中,其可以极大的提高测试的效率,降低人为因素的影响,缩短软件开发周期,降低人力成本,提高企业效益。在软件的图形用户界面(GUI)测试中,由于要识别大量不同的控件、...
  • RPA的全称为机器人流程自动化(Robotic Process Automation),是一款软件产品,可模拟人在电脑上的不同系统之间操作行为,替代人在电脑前执行具有规律与重复性高的办公流程。 瞎说开发那些事 18-05-2510:02 ...
  • 点击上方“AirPython”,选择“加为星标”第一时间关注 Python 技术干货!1. 场景相信大部分同学早上醒来之后,都是手动打开音乐软件,播放自己喜欢的音乐,然后手动滑动屏幕,查...
  • CheungSSH 中国人自主研发的Linux运维自动化管理服务器软件 管理上千台服务器 自动化运维软件 批量管理服务器 管理Linux服务器软件 运维自动化工具 开源堡垒机 Ansible Slatstack Puppet
  • TCL、Python和软件测试自动化

    热门讨论 2012-05-23 13:29:27
    TCL、Python和软件测试自动化.pdf 作者:雷雨后 网上找了很久,找到了就共享了,主要是讲解TCL/TK的知识,写的很不错。
  • RPA(机器人流程自动化)极简史

    千次阅读 2019-04-22 14:14:22
    机器人流程自动化是一种根据预先设定的程序,通过模拟并增强人类与计算机的交互过程,执行基于一定规则的大批量、可重复性任务,实现工作流程自动化软件或平台。 RPA并不是一个新兴概念,其发展至今经历了多个阶段...
  • 自动化测试总结报告模板

    千次阅读 2019-12-03 15:13:12
    (1)总结自动化测试的测试进度,及自动化测试的完成情况。 (2)回顾测试过程,总结自动化测试中遇到的问题及解决措施,以便提高测试人员的技能水平。 (3)分析测试结果,并根据结果对系统的主要功能进...
  • 在脚本中添加下列2行: 加启动配置 option = webdriver.ChromeOptions() option.add_argument(‘disable-infobars’) 改动打开浏览器 driver = webdriver.Chrome(chrome_options=option) 完整脚本如下: ...
  • 进入软件<启动台>,找到<自动操作>工具(其他),打开,点击下方<新建文稿>。 提示选择文稿类型,选<...
  • 面试题目录:web自动化面试题:一、Selenium中hidden或者是display = none的元素是否可以定位到?二、如何提高Selenium脚本的执行速度?三、你的自动化用例的执行策略是什么?四、id,name,class,xpath, css ...
  • 自动化测试工程师简历(吐血整理)

    千次阅读 多人点赞 2020-11-20 20:50:58
    姓名(软件测试) ...学 历:本 科 专 业:计算机科学与技术 毕业院校:XXX 现居住地:XXX 职业技能 功能测试: 熟悉软件测试流程、测试用例的设计,能够独立负责测试计划和推动测试流程。 熟悉 Fiddler、Git、禅道...自动
  • 自动化测试面试题及答案大全(5)

    万次阅读 多人点赞 2019-04-20 09:17:45
    1.Selenium是否支持桌面应用软件自动化测试。 Selenium不支持桌面软件自动化测试,Selenium是根据网页元素的属性才定位元素,而其他桌面软件自动化测试工具是根据桌面元素的位置来定位元素,当然现在也有根据...
  • Python自动化是做什么的软件测试里面有Python自动化测试这个课程吗?在人工智能+大数据的飞速发展的大环境下,Python开发语言日渐火爆,Python自动化测试也将逐渐取代传统的软件测试,它属于后起之秀,吸取了功能、...
  • Configuration management (CM) is a system engineering method for for establishing and maintaining consistency of a product’s performance, functional, and physical attributes with its design, ...
  • 之前我们解释过机器人过程自动化。RPA有一个奇特的名字,市场上超过50个解决方案提供商, 但与我交谈过的人很少能回答可以应用RPA的确切领域。因此,我们准备了所有RPA用例/应用领域的最完整列表,并将它们分为5个大...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,035,883
精华内容 414,353
关键字:

自动化软件

友情链接: louisPSO.rar