休息的时候,无意中在51testing上看到一篇名为《谈关于最近软件测试的面试》的文章。发现其中的面试题还是有一定难度的,值得思考。
文章中有一道题是关于文件读写的,主要是从存放地理信息的文件中提取ip,写入令一个文件中,作者给出了两种解决方法。第一种可以使用awk命令直接在terminal中运行,另一种是用python写一段脚本。其实,仔细一想,我们也可以利用正则表达式来处理。正好我在学习ruby,就当作练手吧。
Ruby代码:
ipfile = File.new("ip.csv","w")
ip = /\d{0,3}\.\d{0,3}\.\d{0,3}\.\d{0,3}/
geofile = File.open("geo.csv","r")
geofile.each_line do |line|
ipfile.puts ip.match(line)
end
作者还要求面试人员对写的命令/脚本进行测试,提出了可以分黑盒和单元两种思路来测试,而不管是哪一种方法,都需要考虑到正常和异常两种情况。
另外,文章中提到的其余题目也是值得深究的,供参考。