Friday, March 30, 2012

What is the differrence between Unit Testing and API Testing ?

Unit Testing is an activity to verify functionality of smallest part of compilable code.

API Testing, Application Programming Interface Testing, is mainly about testing subroutines in a particular application. 

So if we take these definitions, at times we as tester may refer both of these terms interchangeably. This will happen when we consider Unit Testing  as an activity for testing Functions of C++ and API testing will again be same thing is this case.

Ideally API Testing is something which is done by Testing team on an application build, while Unit testing is done by Developers and can be done without actually building the application. 

We need to research more on it from practical point of view and will update this article again. Please feel free to share your thoughts through comments.

Wednesday, March 28, 2012

Refreshing some basics of PERL || Some common Interview Questions on PERL?

Since you are expected to know Perl and you have used PERL in your projects, it's a very obvious thing that Interviewer ask you the reason for choosing PERL for doing something in your project. Why not other scripting language?

The very simple answer to this question is that Perl is a very power Interpreter and FREE as well :)
Apart from this PERL is portable, easy and Flexible enough of learn & apply.

Subroutine is reusable set of code in Perl which can be accessed from different parts of the script.

CPAN in Perl - CPAN, the Comprehensive Perl Archive Network, is an archive of over 100,000 modules of software written in Perl, as well as documentation for it.

Defining Object of a Class -

use Class;

my $Object= Class->new();

Reading Command-Line arguments in PERL -

@ARGV is the array which contains all arguments we get from Command-line.

#!/usr/bin/perl
$numArgs = $#ARGV + 1;
print "thanks, you gave me $numArgs command-line arguments. ";
foreach $argnum (0 .. $#ARGV) {
print "$ARGV[$argnum] ";
}

Running a BAT file in Perl -

system("start C:\\Temp\\mybatchfile.bat");

Concatenation in Perl -

$filename = "/tmp/" . $file_name . ".tmp";

$filename = "/tmp/${file_name}.tmp";


Lot of basics around Perl are very well covered at  http://www.perl.com/pub/2000/10/begperl1.html

Tuesday, March 27, 2012

PMI-PMP Preparation || What are different 'PROJECT CONSTRAINTS' as per PMBOK

Here are SIX interlinked CONSTRAINTS for any project. Any change in one of these will surely impact any other constraint.

1. Budget
2. Resources
3. Schedule
4. Quality
5. Risk
6. Scope 
Here we are not going to check out definition of these, as most of these are pretty easy to understand and relate to. Risk is something which is very closely associated to assumptions we make in any project and every Assumption carries a level of risk with it. We shall look into this in detail...

Related stuff -

- Triple Constraint Theory (COST, QUALITY or SCOPE needs to balanced to achieve a Quality Level)
- Flexibility Matrix

PMI-PMP Preparation || What exactly is 'PROJECT MANAGEMENT'

As per PMBOK 'Project Management' is the application of knowledge, Skills, Tools and techniques of project to meet Project requirements.

Few basic things to remember about Project Management - 

- Identifying Requirements
- Establishing Objectives
- Balancing Scope
- Timing and Cost
- Adapting the plans to different concerns of STAKEHOLDERs.

Project Management is actually accomplished through application and integration of various PM processes. These processes include - INITIATION, PLANNING, EXECUTION, MONITORING & CONTROL and CLOSING

PMI-PMP Preparation || What are basic differences between a 'PROJECT' and an 'OPERATION'

Here are few basic differences between PROJECT and OPERATION :-

1. PROJECTs are TEMPORARY
OPERATIONs are ONGOING.

2. PROJECT are UNIQUE
OPERATION works on a STANDARD product

3. PROJECT has definite START and END dates
OPERATIONs are INDEFINITE.

4. PROJECT usually comprises of HETEROGENEOUS-TEAMS
OPERATION comprises of HOMOGENEOUS-TEAMS

By Heterogeneous we mean a team having members attaining different skill-sets.