我在镇上有一些高级QA工程师几天,我正准备测试我们移植到Linux和OS X的应用程序。这些人很聪明。虽然他们不是程序员,但他们确实理解如何打开内存转储来查找函数指针,以及编写简单的python以帮助自动化他们的工作。但他们总是使用窗户,只熟悉那里的工具。
所以我的问题是:你会教他们什么来帮助测试在OS X或Linux上运行的本机应用程序?
我的一些想法是:
答案 0 :(得分:1)
首先想到的两件事
答案 1 :(得分:1)
如果他们不害怕gdb和analyzing core dumps那么他们肯定应该知道valgrind。
知道如何做system call tracing和library function call tracing也很有帮助。
如果他们需要杀死http://en.wikipedia.org/wiki/Kill_(command)叛逆过程,了解信号http://en.wikipedia.org/wiki/Signal_(computing)会有所帮助。
如果他们需要在Windows和Linux之间转换文本文件,则tr命令http://en.wikipedia.org/wiki/Tr_(Unix)是他们的朋友。
如果他们需要下载文件wget是一个易于使用的命令行工具。
总的来说,关于最常用的Linux shell bash的正确知识应该是一个基本要求。有一个(非常基本的)Windows to Linux: A Beginner's Guide可能有助于克服最初的障碍。还有一些文章是here。
答案 2 :(得分:0)
我会教你如何设置ulimit以便可以创建核心文件。我可能还会提供有关基本信号编号及其可能含义的信息。您还可以向他们概述ftp,以便将文件移动到更舒适的位置以及CR LF问题的基础知识。我会向他们解释UNIX和Windows之间的主要区别(斜杠是不同的)。我还会考虑设置一个samba共享,以便他们可以使用他们选择的工具来编辑文件。
教他们如何重定向输出以及如何使用tee可能是他们可能从中受益的东西。文件权限的基础是必须的。如果禁用telnet端口,解释ssh和telnet可用于访问这些远程盒可能会有所帮助。最后,我会教他们删除文件没有像Windows一样的撤消功能。
您可以考虑解释ps -ef以及简单的管道和grep。我会向他们展示如何使用kill -9来处理后台进程并杀死进程。 top,xload和pstree等工具可以帮助他们解决问题。
答案 3 :(得分:0)
我会教他们使用简单的unix工具,比如time / sed / grep /甚至perl。 Shell脚本和“许多简单命令”的哲学。
另一方面,学习如何使用更复杂的工具,例如
编辑:当然,需要一些文本编辑器(vim / emacs / mcedit / etc)。