前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面试题_软件测试常见Python编程思维题_1.2

面试题_软件测试常见Python编程思维题_1.2

作者头像
测试小兵
发布2024-04-11 14:16:17
870
发布2024-04-11 14:16:17
举报
文章被收录于专栏:猪圈子猪圈子

当今软件行业的发展日新月异,软件测试工程师的角色变得愈发重要。作为软件测试工程师,精通Python编程语言是必不可少的技能之一,因为Python在软件测试领域中具有广泛的应用和支持。本文将以Python测试为中心,介绍软件测试工程师必须掌握的知识和技能。

首先,了解软件测试的基本概念和原则是至关重要的。软件测试是确保软件质量的关键步骤,它涉及验证软件是否满足预期的功能和性能要求。测试过程中,测试工程师需要设计测试用例、执行测试、记录和报告缺陷等。Python提供了丰富的测试框架和库,如unittest、pytest和nose等,这些工具可以帮助测试工程师有效地组织和管理测试用例。

其次,熟悉Python语言的基础知识对于编写可靠的测试代码至关重要。测试工程师需要了解Python的语法、数据类型、控制流程等基本概念。熟练掌握Python的面向对象编程(OOP)也是必备技能,因为许多测试框架和库都是基于OOP的思想构建的。

另外,熟练运用Python的断言和异常处理机制对于编写鲁棒的测试代码非常重要。断言是在测试过程中验证预期结果的关键工具,而异常处理可以帮助测试工程师处理意外情况,确保测试的稳定性。

此外,理解和运用常见的测试设计技巧也是软件测试工程师必备的技能之一。例如,白盒测试和黑盒测试是常用的测试方法,测试工程师需要根据软件的内部结构和外部行为设计相应的测试策略。利用Python的功能强大的调试和日志工具,测试工程师可以更好地分析和定位问题。

最后,自动化测试是现代软件测试的重要趋势,也是测试工程师需要掌握的关键技能。Python提供了丰富的自动化测试框架和库,如Selenium、Appium和Requests等,可以帮助测试工程师实现自动化测试脚本的编写和执行。

总而言之,作为软件测试工程师,掌握Python测试是必不可少的。了解软件测试的基本概念和原则,熟悉Python编程语言的基础知识,熟练运用测试框架和库,理解和运用测试设计技巧,以及掌握自动化测试技能,这些都是软件测试工程师必须具备的知识和技能。通过不断学习和实践,我们可以成为熟练的Python测试工程师,并为软件质量保驾护航。

接下来给大家分享一波软件测试工程师常见面试题

01/计算一个字符串中每一个字符出现的次数

代码语言:javascript
复制
def cishu(str):
  str1 = ""
  for i in str:
    if i not in str1:
      str1 = str1 + i
      print(i,"出现的次数为:",str.count(i))
str = "wertyuidfghjkcvbnm,ertyui"
cishu(str)

02/有四个数字:1、2、3、4,能组成多少个互不相同且⽆重复数字的三位数?各是多少?

代码语言:javascript
复制
def sws():
  e=[]
  for a in range(1,5):
    for b in range(1, 5):
      for c in range(1, 5):
        if a !=b != c and a != c:
          f=a*100+b*10+c
          e.append(f)
          q=len(e)
          return(e,q)

03/对一个字符串,去除所有重复字符后,根据字符的编码按照从小到大的顺序排列后输出。字符串 s = “ajldjlajfdljfddd”,去重并从小到大排序输出”adfjl”

代码语言:javascript
复制
def we():
  s = "ajldjlajfdljfddd"
  a = list(set(s))
  a.sort()
  print(a)

04/编程实现:冒泡排序

代码语言:javascript
复制
def maopao(lie):
  """
  接受一个列表,返回这个列表从小到大的排序结果
  :param lie:
  :return:
  """
  # 进行len(lie)轮比较
  for i in range(0,len(lie)):
    # 每一轮从第一个元素开始,到倒数第二个元素结尾
    for j in range(0,len(lie) -1 ):
      # 如果前一个元素比后一个元素大,则交换二者的位置
      if lie[j] > lie[j + 1]:
        # 交换
        t = lie[j]
        lie[j] = lie[j + 1]
        lie[j + 1] = t
  return lie
lb = [456,365,789,2231,412,126,1455,1231,123]
a = maopao(lb)
print(a)

05/对一个列表,将这个列表的首位之间对称位置的元素互相调换位置。(例如,第一个和最后一个,第二个和倒数第二个)

代码语言:javascript
复制
def huan(lie):
  # 确定交换次数:列表长度的一半-1
  for i in range(0,len(lie)//2):
    t = lie[i]
    # 使用最后一个元素的下标-1 - i进行倒序的下标取值
    lie[i] = lie[-1 - i]
    lie[-1 - i] = t
  return lie
lb = [465,789,456,489,132,741]
print(huan(lb))

06/判断一个字符串是不是回文字符串。判断一个字符串是不是回文字符串(不管是从头开始的字符,还是从尾开始的字符,都一样)

代码语言:javascript
复制
def huiwen():
  """
  :return:
  """
  zfc = input("请输入一个字符串:")
  l = 0
  r = len(zfc) - 1
  while l <= r:
    if zfc[l] == zfc[r]:
      l = l + 1
      r = r - 1
    else:
      break
  if l > r:
    print("这是一个回文字符串")
  else:
    print("这不是一个回文字符串")
print(sun())

07/有一个小球从100米高空落下,每次回弹上一次落下高度的一半。请问第10次落地时,下落高度是多少米?一共运动了多少米?

代码语言:javascript
复制
def ii():
  '''
  :return:
  '''
  a = 100 #第n次下落的高度
  b = 0   #下落的次数
  c = 0   #一共运行的高度
  e = 0   #每次回弹的高度
  for i in range(0, 11):
    b = b + 1
    c = a + c + e
    e = a / 2
    a = e
  return a, c
#调用这个函数
m = ii()
print('第10次下落的高度和一共运行的高度分别是:', m)

08/珠穆朗玛峰的高度是8848.8米,一张纸的厚度是0.001米,假如可以无限次折叠,对折多少次后,会超过珠穆朗玛峰的高度

代码语言:javascript
复制
def diwuti():
  for aa in range(0,100):
    # 纸的厚度乘以2的n次方大于8848.8结束
    if 0.001*2**aa>8848.8:
      return(aa)
print(diwuti())

09/键盘输入一个字符串,分别统计该字符串中大写、小写、数字、其他符号的个数

代码语言:javascript
复制
b = 0
c = 0
d = 0
e = 0
for i in a:
  if 'A' <= i <= 'Z':
    b = b + 1
  elif 'a' <= i <= 'z':
    c = c + 1
  elif '0' <= i <= '9':
    d = d + 1
  else:
    e = e + 1
print('大写字母是:', b, '个')
print('小写字母是:', c, '个')
print('数字是:', d, '个')
print('其他字符是:', e, '个')

熟悉Python编程语言的基础知识对于编写可靠的测试代码至关重要,包括掌握语法、数据类型、控制流程和面向对象编程等。此外,掌握断言和异常处理机制可以帮助测试工程师编写鲁棒的测试代码。

了解常见的测试设计技巧,如白盒测试和黑盒测试,并善用调试和日志工具,有助于提高测试效率和准确性。最后,掌握自动化测试技能是现代软件测试的重要趋势,Python提供了丰富的自动化测试框架和库,如Selenium和Appium,测试工程师可以利用这些工具实现自动化测试。总之,掌握Python测试知识和技能对于软件测试工程师来说至关重要,能够帮助他们更好地进行测试工作,提高软件质量

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-03-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python测试社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档