Recently i got an email from Zephyr regarding their new product launch. Zephyr is basically a Test Management tool aimed at global SME, IT departments and Testing Vendors which helps the testing team to manage their test cases and provide test cases visibility at all levels using a central repository. I checked their product demo which looks cool.
http://www.getzephyr.com/
Tuesday, July 22, 2008
Zephyr - A Test Management Tool
Posted by Vishnu Agrawal at 11:15 PM 0 comments
Sunday, July 20, 2008
Software Testing Life Cycle
Software Testing Life Cycle
From: sunny.deb, 8 months ago
Software Testing Life Cycle
SlideShare Link
Posted by Vishnu Agrawal at 9:25 AM 0 comments
Monday, July 14, 2008
Make INSERT statement syntax from a csv file using perl
I need to read a csv file and insert the data from csv to oracle. I created below perl script which will read the csv file line by line and will create INSERT statement accordingly.
#!/usr/bin/perl
$filename = "test.csv";
open(INFILE, "<", $filename)
or die "Can't open $filename for reading: $!\n";
my(@lines) = <INFILE>;
my($line1) = $lines[0];
my($line2) = $lines[1];
print "$line1 \n";
print "$line2 \n";
close(INFILE);
my($tablename) = "mytable";
my($createquery) = "Create table " . $tablename . "(";
my(@var1) = split("\t", $line1);
my(@var2) = split("\t", $line2);
my($i) = 0;
for $item1 (@var1){
chomp($item1);
$createquery = $createquery . $item1 . " ";
$data = $var2[$i++];
print "$item1\t : $data\n";
if(checkData($data) eq "int"){
$createquery = $createquery . "number(10,0), ";
}
elsif(checkData($data) eq "float"){
$createquery = $createquery . "number(10,2), ";
}
else{
$createquery = $createquery . "varchar2(50), ";
}
}
$createquery = substr($createquery,0, -2);
$createquery = $createquery . ");";
print "$createquery\n";
$i = 0;
for $dataline (@lines){
if ( $i == 0){
$i = 1;
next;
}
chomp($dataline);
my(@dataitem) = split("\t", $dataline);
my($insertquery) = "INSERT INTO " . $tablename . " VALUES (";
print "$dataitem\n";
for $items (@dataitem){
if( (checkData($items) eq "int") || (checkData($items) eq "float") ){
$insertquery = $insertquery . $items .",";
}
else{
$insertquery = $insertquery . "\"" . $items . "\"" .",";
}
}
$insertquery = substr($insertquery, 0, -1);
$insertquery = $insertquery . ")";
print "$insertquery\n";
}
sub checkData(){
if(@_[0] =~ /^-?\d+$/){
return "int";
}
elsif(@_[0] =~ /^-?(?:\d+(?:\.\d*)?|\.\d+)$/){
return "float";
}
else{
return "string";
}
}
Posted by Vishnu Agrawal at 4:34 PM 0 comments
Labels: perl script
Thursday, July 10, 2008
Make CREATE TABLE syntax from a csv file using perl
I have a csv file and i have to make the CREATE TABLE statement (which later will be used to create an Oracle table) by reading first and second line of the csv file. First line in the csv file is column headers and the second line is actual data. By reading the first line, i will create column name and by reading the second line, i'll decide the data type for the column.
Below is the perl script for the same: (i am assuming that data in the csv file is tab seperated)
#!/usr/bin/perl
$filename = "test.csv";
open(INFILE, "<", $filename) or die "Can't open $filename for reading: $!\n";
@lines = <INFILE>;
$line1 = $lines[0];
$line2 = $lines[1];
print "$line1 \n";
print "$line2 \n";
close(INFILE);
$tablename = "mytable";
$query = "Create table " . $tablename . "(";
@var1 = split("\t", $line1);
@var2 = split("\t", $line2);
$i = 0;
for $item1 (@var1){
chomp($item1);
$query = $query . $item1 . " ";
$data = $var2[$i++];
print "$item1\t : $data\n";
if($data =~ /^-?\d+$/){
$query = $query . "number(10,0), ";
}
elsif ($data =~ /^-?(?:\d+(?:\.\d*)?|\.\d+)$/){
$query = $query . "number(10,2), ";
}
else{
$query = $query . "varchar2(50), ";
}
}
$query = substr($query,0, -2);
$query = $query . ");";
print "$query\n";
Posted by Vishnu Agrawal at 10:36 PM 0 comments
Labels: perl script
Tuesday, July 8, 2008
Read data from a csv file using perl (when the column count is not known)
I need to read a csv file, and process each and every column data (i do not know the column count before processing the file)
#!/usr/local/bin/perl
if (scalar(@ARGV) < 1)
{
print "Please Specify the file name to be read \n";
exit
}
$file = $ARGV[0];
open FILE, "< $file" or die "Can't open test.csv : $!";
while(<FILE>){
chop;
my(@columns)= split("\t");
my($colnum)=$#columns;
# print "Number of Column in this row is : $colnum\n";
foreach $col(@columns){
print "$col \t";
}
print "\n";
}
close FILE;
Posted by Vishnu Agrawal at 6:31 PM 0 comments
Labels: perl script
Read data from a csv file using perl (when the column count is known)
I need to read a csv file, and process each and every column data (i know the column count before processing the file)
#!/usr/local/bin/perl
open FILE, "< test.csv" or die "Can't open test.csv : $!";
while(){
chomp;
($col1,$col2,$col3,$col4) = split ("\t");
print "$col1 \t";
print "$col2 \t";
print "$col3 \t";
print "$col4 \t";
print "\n";
}
close FILE;
Posted by Vishnu Agrawal at 6:27 PM 0 comments
Labels: perl script
Check datatype of a argument in perl
I need to pick few lines from a particular file and check the data type of values of a particular column. Following is the perl script for the same:
#!/usr/bin/perl
$filename = "test.csv";
open(INFILE, "<", $filename) or die "Can't open $filename for reading: $!\n";
@lines =<INFILE>;
$line1 = $lines[0];
$line2 = $lines[1];
print "$line1 \n";
print "$line2 \n";
close(INFILE);
@var1 = split("\t", $line2);
for $item (@var1){
if($item =~ /\D/){
print "$item\t : Has Non Digits\n";
}
elsif ($item =~ /^\d+$/){
print "$item\t : Whole Number\n";
}
elsif ($item =~ /^-?\d+$/){
print "$item\t : Integer\n";
}
elsif ($item =~ /^[+-]?\d+$/){
print "$item\t : +/- Integer\n";
}
elsif ($item =~ /^-?\d+\.?\d*$/){
print "$item\t : Real Number\n";
}
elsif ($item =~ /^-?(?:\d+(?:\.\d*)?|\.\d+)$/){
print "$item\t : Float Number\n";
}
else{
print "$item\t : NAN\n";
}
}
Posted by Vishnu Agrawal at 6:23 PM 0 comments
Labels: perl script
Print particular line/s from a file using perl
Method 1:
#!/usr/bin/perl
$filename = "test.csv";
open(INFILE, "<", $filename)
or die "Can't open $filename for reading: $!\n";
$line_number = 1;
while (
$line = $_;
last if $. == $line_number;
}
if ($. != $line_number) {
die "Didn't find line $line_number in $filename\n";
}
print;
close(INFILE);
Method 2:
#!/usr/bin/perl
$filename = "test.csv";
open(INFILE, "<", $filename)
or die "Can't open $filename for reading: $!\n";
@lines =
$line1 = $lines[0];
$line2 = $lines[1];
print "$line1 \n";
print "$line2 \n";
close(INFILE);
Posted by Vishnu Agrawal at 6:19 PM 0 comments
Labels: perl script