笔试测试开发题三道(python)

  笔试遇到的三道测试开发题,虽然都不难,但关键还是思路吧!我想在开发东西的时候应该具备的就是思路,有了思路尝试去写,或查相关文档或代码,在此基础上需要不断调整最终达到需求。思路又是在不断练习中获得的。

  在整个面试过程中,笔试往往不是重点,但从一笔试可以看出一个人平时对基础知识的积累。

  再说明的一点是,对于下面的问题,有的要求用php,有的要求java,但我用python实现的。很多时候公司并不是在意你必须用哪种语言去实现,语言只是工具,用来解决问题了,关键是否有思路。

验证邮箱格式

  验证邮箱的格式,不同语言的实现大同小异,通过正则表达式是最快捷的匹配方式,但对于不熟悉正则的同学看着一长串匹配符还是比较头痛的,其实也没那么恐怖。

熟悉python 中正则表达式的常用个匹配符

先看一下邮箱的一般格式:

[email protected]

x 表示一个或多个字符或数字。

1)第一个x可以字母数字

2)第二个x可以字母数字

3)第二个x可以字母,如.com,.cn,.net...等结尾

“@”和“.” 把内x拆成三部份。

整个邮箱长度最少等于5个字符。

代码如下:


#coding=utf-8
import re

‘‘‘
[a-zA-Z0-9] 匹配大小写字母与数字
[a-zA-Z] 匹配大小写字母
\@ a\@b [email protected] (字符转义)
\. a\.b a.b (字符转义)
‘‘‘

def emails(e):
if len(e)>= 5:
if re.match("[a-zA-Z0-9]+\@+[a-zA-Z0-9]+\.+[a-zA-Z]",e) !=None:
return ‘邮箱格式正确!‘
return ‘邮箱格式有误‘

e = raw_input("请输入email:")
print e
a = emails(e)
print a

运行结果:


>>> ================================ RESTART ================================
>>>
请输入email:[email protected]
[email protected]
邮箱格式有误
>>> ================================ RESTART ================================
>>>
请输入email:[email protected]
[email protected]126.com
邮箱格式正确!
>>> ================================ RESTART ================================
>>>
请输入email:[email protected].com
[email protected].com
邮箱格式正确!
.......

获得一个URL地址的扩展名

如:

http://www.cnblogs.com/fnng/archive/2013/05/20/3089816.html  的扩展名为html

对于这个问题同样使用正则式来解决


import re

def strings(url):
listt = [‘.php‘,‘.html‘,‘.asp‘,‘.jsp‘]
for lis in listt:
suffix = re.findall(lis,url)
if len(suffix)>0:
return lis

url = ‘http://www.cnblogs.com/fnng/archive/2013/05/20/3089816.html‘

a = strings(url)
print a

运行结果:

.html

获得录前时间的前一天(或前一秒)

如果当前时间为:2014-6-11 17:12:45

前一天为:2014-6-10 17:12:45

前一秒为:2014-6-11 17:12:44


#coding=utf-8
import time
import datetime

#打印当前时间
print time.ctime()

#当前时间
now_time = datetime.datetime.now()
print now_time

#昨天的现在
yesterday = now_time + datetime.timedelta(days = -1)
print yesterday

#现在的前一秒
now_old = now_time + datetime.timedelta(seconds = -1)
print now_old

运行结果:

Wed Jun 11 17:21:07 2014
2014-06-11 17:21:07.750000
2014-06-10 17:21:07.750000
2014-06-11 17:21:06.750000

======

  这个是在笔试过程中比较有印象的几道题,当时也写了个大概,没经过调试应该有问题,或不太符合需求,这里标记一下!想了想还是做为一篇博客发表一下。后续有时间会详细讲述跳槽经历以及最近一年多的感悟。

笔试测试开发题三道(python),布布扣,bubuko.com

时间: 2024-10-27 04:53:00

笔试测试开发题三道(python)的相关文章

测试开发系列之Python开发mock接口(一)

本次测试开发系列给大家分享一下怎么用python开发mock接口.本次介绍下什么是mock接口,以及咱们开发之前需要做的准备. 什么是mock接口呢,举个栗子,你在一家电商公司,有查看商品.购物.支付.发货.收获等等等一大堆功能,你是一个测试人员,测测测,测到支付功能的时候,你就要调用第三方支付接口了,真实支付,直接扣你支付宝/微信/银行卡里面的钱了,这下大事不好,测个试还得把自己钱搭进去(当然一般公司都会报销测试的支付费用,但是走报销麻烦),还有一些大额支付的的,可能你账户里面根本就没那么钱,

S2 深入.NET和C#编程 笔试测试错题积累

---恢复内容开始--- <深入.NET平台和C#编程>内部测试题-笔试试卷错题积累 1: 1) 以下关于序列化和反序列化的描述错误的是( C). a) 序列化是将对象的状态存储到特定存储介质中的过程 b) 二进制格式化器的Serialize()和Deserialize()方法可以分别用来实现序列化和反序列化过程 解析:BinaryFormatter c) 如果一个类可序列化,则它的子类和包含的各成员对象也一定可序列化 问题出在了子类,如果子类压根不能进行序列化操作,则会抛出异常 d) 标识一

测试开发系列之Python开发mock接口(二)

上一篇咱们已经把开发前的环境准备好了,还需要再做一点准备,你的账户信息是存在哪的呢,当然是存在数据库里的,咱们在去支付,扣钱的时候,肯定是从数据库里面操作的,去更新账户表里面的数据,所以咱们先要把数据库准备好,建好账户表,初始化几条账户信息,这样才能完整的把这个mock接口给完成. 这篇咱们就学习一下python怎么操作数据库,怎么执行sql,数据库使用sqlite,sqlite是一个跨平台开源的轻量级关系型数据库,不需要配置和安装直接就可以使用,sql语句和mysql.sqlserver.or

测试开发系列之Python开发mock接口(三)

最后一篇了,终于进入主题了,前面的准备工作都已经做好了,下面就开始写逻辑的代码了,代码我已经写好了,每行都加了注释. ok,代码就是上面的,每个单独的功能都拆分出来做了单独的函数来工作,这样代码就不会显得比较乱了. 下面咱们来测试一下,看看有没有bug 先来个正常的通过性测试: 再来俩异常验证,一个价格错误的,一个用户不存在的. 大功告成,都验证通过了,当然还有很多没有验证,留着大家动动手吧.

测试开发Python培训:模拟登录新浪微博-技术篇

测试开发Python培训:模拟登录新浪微博-技术篇 一般一个初学者项目的起点就是登陆功能的自动化,而面临的项目不同实现的技术难度是不一样的,poptest在做测试开发培训中更加关注技术难点,掌握技术实现思路,提高动手能力.这里通过大家都能接触到的系统新浪微博,作为案例. 模拟登录功能比较简单,很多人在学习自动化的时候都会以登陆来作为自己的第一个学习案例,有点像开发语言中第一段代码都是helloworld!一样.登陆简单的模拟登录,直接发post请求就OK,很容易实现. 这里用新浪微博,就是技术实

测试开发Python培训:抓取新浪微博抓取数据-技术篇

测试开发Python培训:抓取新浪微博抓取数据-技术篇 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest的selenium的课程中,我们在培训的课程里讲python的语言,也是通过项目实战的方式进行讲解,前期分享了个新浪微博的登陆功能,这次在通过抓取新浪微博数据进一步讲解脚本.(大家对课程感兴趣,请加qq:564202718) 微博有发布微博功能,微博发布后需要验证内容,那么如何验证微博发布数据的正确性,首先要

测试开发Python培训:自动发布新浪微博-技术篇

测试开发Python培训:自动发布新浪微博-技术篇 在前面我们教大家如何登陆,大家需要先看自动登陆新浪微博(http://www.cnblogs.com/laoli0201/articles/4880969.html),再看这篇文章会好很多: 在上一篇python的自动化脚本中,把脚本中的发送请求数据修改就好,上一篇脚本代码替换掉: formData={ ‘location':'v6_content_home', 'appkey':'', ‘style_type':'1', ‘pic_id':'

python测试开发之_字符串练习

编程学习是个漫长.逐渐累加复杂度.综合难度的一门工程.需要自我驱动,督促自己往前走.Python测试开发是本年度重点学习目标. 今天来一个字符串的练习题,重在思路,不断训练自己的思维. 题目:找出字符串中出现次数最多的字符,并输出其出现的位置 代码实现: #encoding=UTF-8 s = "aaabbbhhiijk" letter_count_dict={} for i in s: if letter_count_dict.has_key(i): #判断是否在字典中出现过 let

Java or Python?测试开发工程师如何选择合适的编程语言?

很多测试开发工程师尤其是刚入行的同学对编程语言和技术栈选择问题特别关注,毕竟掌握一门编程语言要花不少时间成本,也直接关系到未来的面试和就业(不同企业/项目对技术栈要求也不一样),根据自身情况做一个相对正确的选择确实要比盲目投入更明智也更高效. 目前最常见的情况是纠结选择 Java 还是 Python?关于这个问题,我搜索了之前的相关博客,也特意请教了几位资深的测试技术专家,在这里做一个汇总整理,集"各家"之言供大家参考.也欢迎各位朋友根据自己的经验回帖补充意见. P.S. 有一点需要强