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

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

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

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

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

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

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

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

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

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


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,能组成多少个互不相同且⽆重复数字的三位数?各是多少?


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”


def we():

s = "ajldjlajfdljfddd"

a = list(set(s))

a.sort()

print(a)

04/编程实现:冒泡排序


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/对一个列表,将这个列表的首位之间对称位置的元素互相调换位置。(例如,第一个和最后一个,第二个和倒数第二个)


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/判断一个字符串是不是回文字符串。判断一个字符串是不是回文字符串(不管是从头开始的字符,还是从尾开始的字符,都一样)


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次落地时,下落高度是多少米?一共运动了多少米?


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米,假如可以无限次折叠,对折多少次后,会超过珠穆朗玛峰的高度


def diwuti():

for aa in range(0,100):

# 纸的厚度乘以2的n次方大于8848.8结束

if 0.001*2**aa>8848.8:

return(aa)

print(diwuti())

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


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测试知识和技能对于软件测试工程师来说至关重要,能够帮助他们更好地进行测试工作,提高软件质量

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

  • 8
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值