Saturday, December 07, 2013

Linux Less versus More

 Less  is  a  program similar to more, but which allows backward movement in the file as well as forward movement.  Also, less does not have to read the entire input file before starting, so with large input files it starts up faster than text editors like vi.

With more you can scroll down but NOT up
So less is a lot more than more

Friday, December 06, 2013

What Does LTS mean in Ubuntu Systems ?

Most Ubuntu versions recieve support of 18 months, but LTS releases get 3 years on the desktop and 5 on the server. 
Only 6.06 and 8.04 have been LTSs so far.

Also worth mentioning that 'recieves support' does NOT mean recieves free tech support. Support means recieving bug fixes and stability updates.

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.3 LTS
Release:        12.04
Codename:       precise

Sunday, December 01, 2013

Selenium Web Driver : Sources

Perl - Quick Recap

Link to a source on the web: http://careerride.com/perl-interview-questions.aspx

Differentiate between Use and Require, My and Local, For and Foreach and Exec and System

Use and Require

Both the Use and Require statements are used while importing modules.

A require statement imports functions only within their packages. The use statement imports functions with a global scope so that their functions and objects can be accessed directly.

Eg. Require module;
Var = module::method(); //method called with the module reference

Eg: use module;
Var = method(); //method can be called directly


-Use statements are interpreted and are executed during the parsing whereas the require statements are executed during run time thereby supporting dynamic selection of modules.


My and Local


'my' creates a new variable, 'local' temporarily amends the value of a variable

There is a subtle difference.
In the example below, $::a refers to $a in the 'global' namespace.

$a = 3.14159; { local $a = 3; print "In block, \$a = $a\n"; print "In block, \$::a = $::a\n"; } print "Outside block, \$a = $a\n"; print "Outside block, \$::a = $::a\n"; # This outputs In block, $a = 3 In block, $::a = 3 Outside block, $a = 3.14159 Outside block, $::a = 3.14159
ie, 'local' temporarily changes the value of the variable, but only within the scope it exists in.

so how does that differ from 'my'? 'my' creates a variable that does not appear in the symbol table, and does not exist outside of the scope that it appears in. So using similar code:
$a = 3.14159; { my $a = 3; print "In block, \$a = $a\n"; print "In block, \$::a = $::a\n"; } print "Outside block, \$a = $a\n"; print "Outside block, \$::a = $::a\n"; # This outputs In block, $a = 3 In block, $::a = 3.14159 Outside block, $a = 3.14159 Outside block, $::a = 3.14159


For and Foreach

The for statement has an initialization, condition check and increment expressions in its body and is used for general iterations performing operations involving a loop.

The foreach statement is particularly used to iterate through arrays and runs for the length of the array.

Exec and System

The exec command stops the execution of the current process and starts the execution of the new process and does not return back to the stopped process. 

But the system command, holds the execution of the current process, forks a new process and continues with the execution of the command specified and returns back to the process on hold to continue execution.

What is the use of command "use strict"?

Use strict command calls the strict pragma and is used to force checks on definition and usage of variables, references and other barewords used in the script. If unsafe or ambiguous statements are used, this command stops the execution of the script instead of just providing warnings.

What would happen if you prefixed some variables with following symbols?

i.) $ - The variable becomes a scalar variable which can hold one value only
ii.) @ - The variable becomes an array variable which can hold a list of scalar variables
iii.) % - The variable becomes a hash variable which stores values as key-value pairs

What is the use of following?

i.) –w
When used gives out warnings about the possible interpretation errors in the script.

ii.) Strict
Strict is a pragma which is used to force checks on the definition and usage of variables, references and other barewords used in the script. This can be invoked using the use strict command. If there are any unsafe or ambiguous commands in the script, this pragma stops the execution of the script instead of just giving warnings.

iii.) -T.
When used, switches on taint checking which forces Perl to check the origin of variables where outside variables cannot be used in system calls and subshell executions.



What is chomp Function:
Chomp is used to remove newline character "\n" from the end of a string, or from end of every element of an array, or from every value of a hash.

What is Chop function

chop function removes the last character of a string variable and returns the chopped character, it doesn’t matter what it is

vSphere 5 Basics

Excellent source:http://pubs.vmware.com/vsphere-50/index.jsp#com.vmware.vsphere.introduction.doc_50/GUID-F7A7E6C0-FA25-4806-8921-0438F1B2AEAE.html

VMware ESXi™ -  virtualization layer
VMware vCenter Server™ - management layer, 
and vSphere Clients - interface layer  (i'm using 5.1.0)

What I worked on:
Create a New VM or Deploy and OVF Template

Usability Testing

The primary point of usability testing is to provide feedback during the design/development process to ensure that the web site will actually be easy and effective to use and provide valuable information to the users. Four primary elements to measure are:
  • Ease and effectiveness of navigation - Do users find what they need easily. Is there a clear pattern to the navigation that fits easily into the users mental model. Are your links labeled with terms that make sense to your users. (Or, are you speaking in your own private jargon!)
  • Usefulness of content - What information do your users want/need? Have you organized the content on each page in such a way that it is easy for your users to quickly find it? Or do they have to read all the fine print while standing on their heads?
  • Effectiveness of presentation - Did the graphic design, fonts and colors highlight the navigation and content, making the site easier to use? Or did the presentation distract or create a barrier between the user and the information?
  • Task success rate - Were the users able to accomplish the key task they needed/wanted to accomplish. If they were able to complete the task, did they feel satisfied, neutral or angry and frustrated?

There are four basic documents used for hands-on task based usability testing. These documents are:
  1. Waiver
  2. Entrance Questions
  3. Task Based Questions (the heart of the hands-on usability test)
  4. Exit Questions

Security Vulnerability Scanners


Some vulnerability scanners available
  • Nessus
  • Qualys
  • Retina eEye
  • ISS Internet Security Systems
  • Rapid7 Nexpose

Products will be set up in typical configurations with default values for security settings.  If documentation exists that details best security practices for configuring the product, the product will also be tested after having been configured accordingly.  Thus, in some cases it may be necessary to scan multiple configurations

False positives will be recorded in a public facing location

Security Testing

Since PCs and the Internet came on the scene in the 1980s, security threats have gradually increased, with the biggest increase coming when hackers turned their attention to the clients. They tried to steal usernames and passwords to gain access to servers using techniques such as installing keystroke grabbers. They also used phishing and pharming to get users to voluntarily turn over password information.

The number of vulnerabilities has increased dramatically since attackers turned their attention from networks and servers to clients. Across all systems and operating systems, at least 6,000 new, exploitable vulnerabilities are found each year (CERT 2006). This trend is expected to continue.

To prevent vulnerabilities, we do need to factor security into our software lifecycle, but we must also learn the mental models hackers use to attack systems.


Another factor in preventing security vulnerabilities is to use standards. Two evaluation standards  are Orange Book and Common Criteria. These types of standards help us define our goals for security. They help us think about who's attacking, what we  need to protect, and so on.

Security engineering helps us develop software securely across the product development lifecycle, from requirements through maintenance and operation. It is a process for making sure our security goals and requirements are met. We can think of it as the software development lifecycle with a security aspect on top of it.
  • Infection with spambots, which send spam from the infected PC 
  • Botnets, which put a number of computers under control of the attacker, making them capable of a coordinated attack ranging from spamming for phishing and pharming attacks to distributed denial of service (DoS) attacks
Methods for some of these attacks include: 

  • E-mail attachments that contain malicious data such as worms and trojans 
  • Phishing e-mails, which simply ask users to give their information to what they think is a legitimate site
  • Pharming, which, through techniques such as Domain Name System poisoning, redirects a website's traffic to a false website 
  • Downloads from the Internet that contain spyware, adware, or other malicious content 
  • Taking advantage of the copy-protection scheme used by music CDs that installs a rootkit (giving root access) on the user's computer
Testing for security is an emerging field, but tools are available and you can test your code for common vulnerabilities.  

Security is in some ways a moving target, but learning about and adopting good practices will increase your software's security. The following are two actions that can improve security.

Industry-wide, security must become more robust. When computers first came into use, few people envisioned a world in which every home had a computer and in which any two computers could share information. Therefore, security was not built into the underlying architecture. Username and password were created as an accounting system, providing a way to log how much time each user spent on the system, not for security. But username and password have become the industry's de facto security system and continue to be used this way even though hackers have proven that they can circumvent that system. Security technology must move beyond the password.

Build security into the development cycle. At every part of the software development lifecycle, from requirements to maintenance, you need to consider security. Think about the parts of your system that are vulnerable and make sure your specifications include plans to make them secure. Understand who your attackers are. Ad hoc fixes are expensive and less effective than doing it right from the beginning.

Standards for securityUsing standards is one way to build security into the development cycle. Two standards that we'll discuss are Orange Book and Common Criteria. 

Common Criteria is the commercial worldwide standard for evaluating security. Orange Book was USA only, administered for the Department of Defense.


  • Security engineering is a process and a needed part of the software development lifecycle. 
  • Security attacks have moved from password sniffing on the network to attacks on servers, and then to attacks on clients. Phishing and pharming attacks are increasing and becoming more successful. 
  • When the schedule does not include security testing, vulnerabilities are likely. Also, it is important to understand the capabilities and the limits of the security features you are using. Use standards to make sure your security goals are met.
  • Orange Book was the USA-only standard for security. Common Criteria is newer and is more flexible than Orange Book.
Some vulnerabilities:

Buffer Over Flow/Buffer Over Run

SSL : SSL only makes data confidential and gives it integrity. It doesn't say what’s in the content. If the content was malicious, all that SSL did was give a very confidential path for malicious content.

The application was vulnerable to a resource exhaustion attack. 

The hackers could read the authentication file.

The default admin password hadn't been changed. 

A privileged program (setuid) was vulnerable and allowed a local root exploit. 

There are three types of attacks. In all of these attacks, the hacker is exploiting a security bug.

Malicious data, in which the attacker injects data that causes the system to fail. 

Example: Parsing errors occur when illegal and potentially damaging data makes it past parsing.
An example of a parsing error is one that has been fixed repeatedly in IIS, Microsoft's web server. Hackers have used variations of the same attack over several years, repeatedly finding ways around the fixes. The attack is called the directory traversal attack. Hackers try to traverse and climb up directories in the operating system on the server by putting ../ in the URL. The goal is to open restricted files such as password files.

Network attacks, in which the attacker tries to steal or manipulate information as it passes across the network. Examples include password sniffing, man-in-middle attacks, replay, and distributed denial of service.


Side-effect attacks, in which the result of a normal operation gives attackers information they can use to gain access to the system. Examples include error messages and timing of cryptographic operations. 

Side-channel attacks occur when attackers use a side-effect of a process to learn more about the system they want to attack.
Examples include:
  • Timing attacks, in which the attacker learns from the amount of time a process takes
  • Returned error codes
  • Power analysis
  • RF analysis

Difference between SSH and SCP

- Both SSH and SCP are used to exchange data between the computers within a network securely, based on public key encryption.


- SSH protocol is for creating a secure encrypted channel between a pair of remote devices, while SCP protocol is for transferring files between a pair of hosts securely. As SCP uses SSH connection for its operation, both SSH and SCP protocols are alike but there are some key differences.


- SSH protocol is widely used for logging into remote systems and for controlling remote systems, while SCP protocol is used to transfer files among remote computers in a network.


- When the user does not know the exact location of a file that is needed to copy using SCP, he/she can first establish the connection to the remote server using SSH, find the path using ‘cd’ and ‘pwd’ commands and then use the full path to copy file using SCP. This is because SCP protocol cannot be used to run a command on a remote server but the SSH protocol can be used to execute the remote commands.


SCP

1) send a file to a remote computer with scp command 


$ scp MyTestFile1.txt psqa@10.9.28.95:.

psqa@10.9.28.95's password:

MyTestFile1.txt                                                                                            100%   60KB  60.0KB/s   00:00
psqa@psqa-Precision-WorkStation-T3500:~$

Verifying that the file has been copied successfully
psqa@psqa-Precision-WorkStation-T3500:~$ ssh psqa@10.9.28.95
psqa@10.9.28.95's password:
Welcome to Ubuntu 11.10 (GNU/Linux 3.0.0-12-generic i686)

 * Documentation:  https://help.ubuntu.com/

492 packages can be updated.
232 updates are security updates.

New release '12.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Sun Dec  1 12:32:09 2013 from psqa-x7dvl.local
psqa@psqa-X7DVL:~$ ls
Desktop  Documents  Downloads  examples.desktop  Music  MyTestFile1.txt  Pictures  Public  Templates  Videos
psqa@psqa-X7DVL:~$ ls -l MyTestFile1.txt
-rw-rw-r-- 1 psqa psqa 61440 2013-12-01 13:14 MyTestFile1.txt
psqa@psqa-X7DVL:~$

=============================================

2) Send multiple files at once to a remote computer

$ scp MyTestFile1.txt MyTestFile2.txt psqa@10.9.28.95:
psqa@10.9.28.95's password:
MyTestFile1.txt                                                                                            100%   60KB  60.0KB/s   00:00
MyTestFile2.txt                                                                                            100%   60KB  60.0KB/s   00:00

$ scp MyTestFile1.txt MyTestFile2.txt psqa@10.9.28.95:.
psqa@10.9.28.95's password:
MyTestFile1.txt                                                                                            100%   60KB  60.0KB/s   00:00
MyTestFile2.txt                                                                                            100%   60KB  60.0KB/s   00:00
psqa@psqa-Precision-WorkStation-T3500:~$

==================================================

3) Send multiple files at once using "*" to a 

remote computer

$ scp * psqa@10.9.28.95:.

psqa@10.9.28.95's password:
MyTestFile1.txt                                                                                            100%   60KB  60.0KB/s   00:00
MyTestFile2.txt                                                                                            100%   60KB  60.0KB/s   00:00
psqa@psqa-Precision-WorkStation-T3500:~/anu$

========================================================

4) scp command used to transfer a directory recursively to a remote 

computer (anu is the folder name)




scp -r /root/portal root@10.131.16.165:.



$ scp -r anu psqa@10.9.28.95:.

psqa@10.9.28.95's password:
MyTestFile1.txt                                                                                            100%   60KB  60.0KB/s   00:00
MyTestFile2.txt                                                                                            100%   60KB  60.0KB/s   00:00

Verifying that the folder has been copied

psqa@psqa-Precision-WorkStation-T3500:~$ ssh psqa@10.9.28.95
psqa@10.9.28.95's password:
Welcome to Ubuntu 11.10 (GNU/Linux 3.0.0-12-generic i686)

 * Documentation:  https://help.ubuntu.com/

492 packages can be updated.
232 updates are security updates.

New release '12.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Sun Dec  1 13:28:39 2013 from 10.20.10.150
psqa@psqa-X7DVL:~$ ls
anu  Desktop  Documents  Downloads  examples.desktop  Music  MyTestFile1.txt  MyTestFile2.txt  Pictures  Public  Templates  Videos
psqa@psqa-X7DVL:~$ cd anu/
psqa@psqa-X7DVL:~/anu$ ls
MyTestFile1.txt  MyTestFile2.txt

psqa@psqa-X7DVL:~/anu$

================================================
5) Retrieving a file from remote computer to the local computer

$ scp psqa@10.9.28.95:/home/psqa/MyTestFile1.txt .
psqa@10.9.28.95's password:
MyTestFile1.txt                                                                                            100%   60KB  60.0KB/s   00:00
psqa@psqa-Precision-WorkStation-T3500:~$ ls
about.html       download_script.php?src_id=7701  index.html.1     Public                    strx25-0.9.2.1.tar.bz2.4
centos-org.html  examples.desktop                 Music            strx25-0.9.2.1.tar.bz2    taglist.zip
Desktop          gettext.html                     mygettext.html   strx25-0.9.2.1.tar.bz2.1  Templates
Documents        helloworld.sh                    MyTestFile1.txt  strx25-0.9.2.1.tar.bz2.2  Videos
Downloads        index.html                       Pictures         strx25-0.9.2.1.tar.bz2.3  wget-log
psqa@psqa-Precision-WorkStation-T3500:~$



SSH - A Quick Recap

1)

ssh YOURSERVER

psqa@psqa-X7DVL:~$ ssh 10.9.28.95

The authenticity of host '10.9.28.95 (10.9.28.95)' can't be established.
ECDSA key fingerprint is fa:69:8a:b4:e3:f6:99:e5:b8:09:66:3c:9b:eb:b5:30.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.9.28.95' (ECDSA) to the list of known hosts.
psqa@10.9.28.95's password:Welcome to Ubuntu 11.10 (GNU/Linux 3.0.0-12-generic i686)
 * Documentation:  https://help.ubuntu.com/
492 packages can be updated.
232 updates are security updates.
New release '12.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
Last login: Sun Dec  1 12:22:02 2013 from 10.20.10.150
psqa@psqa-X7DVL:~$

============================================================

2)ssh yourusername@YOURSERVER

psqa@psqa-X7DVL:~$ ssh psqa@10.9.28.95
psqa@10.9.28.95's password:Welcome to Ubuntu 11.10 (GNU/Linux 3.0.0-12-generic i686)
 * Documentation:  https://help.ubuntu.com/
492 packages can be updated.
232 updates are security updates.
New release '12.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
Last login: Sun Dec  1 12:23:34 2013 from psqa-x7dvl.local
psqa@psqa-X7DVL:~$
========================================================

3)Specifying a Port

 ssh -p yourport yourusername@yourserver

psqa@psqa-X7DVL:~$ ssh -p 22 10.9.28.95psqa@10.9.28.95's password:Welcome to Ubuntu 11.10 (GNU/Linux 3.0.0-12-generic i686) * Documentation:  https://help.ubuntu.com/
492 packages can be updated.
232 updates are security updates.
New release '12.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
Last login: Sun Dec  1 12:24:46 2013 from psqa-x7dvl.local
psqa@psqa-X7DVL:~$



SQL Quick Review

  1. A nice resource on web to have a quick review of SQL: http://www.sqlcourse2.com/intro2.html
  2. Another great resource to have a quick recap : http://www.w3schools.com/sql/default.asp

Thursday, November 28, 2013

Blue Coat,Airwatch Mobile Device Security Service

Notes to self from:http://www.bluecoat.com/products/mobile-device-security-service

The rate of smartphone and tablet adoption by the workforce has caught many enterprises off guard and ill prepared to maximize the full benefit of these devices while ensuring its secure use. The most logical approach is to extend the same content security deployed at the enterprise to smartphones and tablets working in conjunction with the Mobile Device Management solution of choice. Unfortunately, many enterprises quickly realize that it is
difficult for MDM solutions and content security solution to coexist on the same iPhone or iPad. In fact, in most cases the solutions are mutually exclusive. 

In order to bring market-leading content security solution with leading MDM solution to enterprise, Blue Coat and AirWatch has teamed up to offer a completely interoperable and
comprehensive security solution for smartphones and tablets.

The security features include

Negative-Day Defense – Security from attacks that have not yet
been launched

• Application Control – Granular controls over web, mobile web and
native iOS Apps and their operations

• Real-time Analytics – Security from benign site or application that
has been compromised or hacked

• URL Filtering – Enforcing Acceptable Use Policy and blocking
objectionable or malicious content/downloads

Performance Tests - Notes to Self

Max Number of Classes  (256 on the low end model like 900 and 2048 on high end model like 12K)

Max Number of Dynamic Partitions (0 for the low end model(900) and 20,000 on the high end model (12K))

Max Number of Static Partitions (128 for the low end model and 2048 for the high end model)

Max Number of Shaping Policies (256 on the low end and 2048 on the high end model)

Max Number of IP Hosts (5000 on the lowend and 300,000 on the high end)


Verify 24hr performance run with default configuration. Verify that DUT can sustain 1G with default configuration (Shaping OFF, Discovery OFF) for 24 hours


Verify disk I/O performance is within expected range. Measure Disk I/O while running performance test at 900Mbps.

sudo apt-get install sysstat


psqa@psqa-Precision-WorkStation-T3500:~$ iostat -d /dev/sda

Linux 3.2.0-54-generic-pae (psqa-Precision-WorkStation-T3500)   11/28/2013      _i686_  (4 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.18         0.16         7.96     771498   38314036


12k Performance STD 500 classes
- Setup 12k on the Avalanche
- Configure avalanche for 80/20 TCP/UDP ratio
-Run script to add 500 IP based classes
- Step up throughput until the 12k begins to
load shed.





Wednesday, November 27, 2013

Mu Dynamics - Performance Testing

Measurement:
Connections
Connection Rate
Bandwidth
Concurrency

Mode:
Scale Mode
Soak Mode
Verify Mode

Scale Mode: Time Duration to Run is anywhere between 1 Minute to 24 hours
Soak Mode: 24 Hour/24 Day/24 Weeks
Verify Mode: Play Scenarios Once

Selecting Test TypeThe Test type defines how the Player runs the test content. When you run a new Test, you are prompted to select one of the following Test types:
ScaleAudit
Supports two modes:
  • Scale. Runs up to 1-8 Tracks/50 Scenarios at scale (multiple, concurrent sessions).
  • Verify. Runs up to 1-8 Tracks/50 Scenarios all at once (single, concurrent sessions).
After you select a Test type and and a Queue, you can switch modes using the File menu: Mode > [Scale Mode] or [Verify Mode].
In an Audit test, the Player runs 1 Track/50 Scenarios one at a time (single, sequential sessions).
After the test completes, you can view Audit results as Pass/Fail or Blocked/Not Blocked.

Mu Dynamics - Evolution of Testing : An interesting Video

Link: http://vimeo.com/60770347

Mu Dynamics has extended its application testing software to recreate the current mix of applications in production and then test these as a group to see how they affect the network and each other.

New applications can be added to the mix and quickly tested, with the test results showing how they affect the network and other apps. The dashboard-like reporting shows graphically how applications perform as the load increases. At a glance, one can see, for example, that Oracle Applications are 100% available, and the corporate ban on BitTorrent is blocking about 2/3 of the BitTorrent traffic at the firewall.


Mu Dynamics announced Blitz, a hosted service that lets mobile software developers test apps as they develop them. The free version lets you test for up to 1,000 users.

Useful link: http://www.spirent.com/Networks-and-Applications/App_Aware_Security


Just a note: Spirent acquired Mu Dynamics and Ixia acquired breaking point

JMeter for Ubuntu

Apache JMeter is a 100% pure Java desktop application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.

To Install Jmeter on Ubuntu

sudo apt-get install jmeter

To launch Jmeter on Ubuntu
cd /usr/share/jmeter/bin
./jmeter

An excellent tutorial which provides a short introduction into using Apache JMeter for HTTP load testing: http://vimeo.com/3453772


Another article at:http://jmeterbasics.blogspot.com/

Basic Components of JMeter

Test plan: The Test Plan is where the overall settings for a test are specified. A test plan describes a series of steps JMeter will execute when run. A complete test plan will consist of one or more Thread Groups, listeners, timers, assertions, and configuration elements.
The test plan should be saved before running the script however it will ask to save the test plan while running the script.
Workbench: The Workbench is like a working area.
Elements in Workbench:
HTTP Proxy Server
HTTP Mirror Server
Property Display
HTTP Proxy Server will listen to the requests being sent from the web browser to the server. It
automatically creates HTTP Request samplers for each request sent.
Thread Group: A Thread Group defines a pool of users that will execute a particular test case against application. In the Thread Group GUI, configuration related to the number of users simulated (num of threads), the ramp up time (how long it takes to start all the threads), the number of times to perform the test, and optionally, a start and stop time for the test can be controlled.
Sampler: A sampler is something that sends a request to a server. JMeter comes with different types of samplers. The sampler that will be used for testing web application
is HTTP Request. Samplers perform the actual work of JMeter. Each sampler (except Test Action) generates one or more sample results. The sample results have various attributes (success/fail, elapsed time, data size etc) and can be viewed in the various listeners.
Assertion: Assertions are used to perform additional checks on samplers, and are processed after every sampler in the same scope. To ensure that an Assertion is applied only to a particular sampler, add it as a child of the sampler. There are different types of assertions depending on type of expected response and type of check that need to perform.
Logic Controller: Logic Controllers determine the order in which Samplers are processed. It provides a mechanism for controlling the flow of the thread group. Adding a logic controller to a thread group is like adding if-then or dowhile logic to a program.
Listener:
A listener listens to the responses generated by samplers. Listeners can be used
to compile the results of the test run and to check that a sampler generates the expected
response. Most of the listeners perform several roles in addition to "listening" to the test results. They also provide means to view, save, and read saved test results.
Listeners can use a lot of memory if there are a lot of samples. Most of the listeners currently keep a copy of every sample in their scope.

Mobile Applications - Strategies for Performance Testing

JIRA, Buzilla Vs JIRA, JIRA Vs Rally

JIRA: Notes to self ftom: https://www.youtube.com/watch?v=xIupa-L7rIk

  • A Product from https://www.atlassian.com/ Licensed software, can be used on demand or can be downloaded.
  • Projects -Manages Projects
  • Issues - Track and Manage Issues/Defects
  • Workflow-Process or Issue/Defect Life Cycle
  • Search - Find With Ease
  • Dashboard and work flow management tools
A pretty easy to use interface and highly intutive
Tracks more than just bugs and tasks – it helps you plan agile development and deliver great software.


JIRA vs. Bugzilla : Notes to self from: https://wiki.almworks.com/display/kb/JIRA+vs+Bugzilla

Mozilla's Bugzilla and Atlassian JIRA are among the most popular issue trackers. While they share features common to issue trackers, the systems are very different.
This article highlights some differences that may be crucial if you are migrating from one system to another. It is not a comprehensive comparison.


Bugzilla
JIRA
License Open-Source (MPL) Commercial (Source code available to commercial license owners)
Server-Side Architecture Perl
MySQL / PostgreSQL / Oracle
Java (J2EE)
MySQL / PostgreSQL / Oracle / MS SQL Server
Tomcat
Lucene
Server Load Low – Perl scripts act as simple CGIs and can be highly sped up with mod_perl. On large databases (>100,000 bugs) the database may become the bottleneck when doing search queries. You can also keep multiple Bugzilla instances running on one server without much overhead. Considerable – JIRA is a more complex system and typically executes a whole lot more of the server-side code per web request, so the server load is considerably higher (but search in JIRA may be faster than in Bugzilla due to the Lucene index). Although you'd need more powerful hardware for JIRA, it will likely do well on a reasonably modern CPU and 1GB of memory. As a general rule, Atlassian recommends not to store more than 200,000 issues on a single JIRA instance.
Access Control Security groups: quite flexible, but a bit mind-bending feature for grouping users & issues and granting permissions. JIRA has more simple permissions model, more conventional and arguably more convenient. Migrating from Bugzilla security groups might be not an easy task.
Flags/Requests This is a quite unique Bugzilla feature. Labels in JIRA can be used as basic flags (without the assignment of a "?" flag). Excellent extensibility leaves room for a plugin that mimics Bugzilla's flags feature more precisely.
Search Power Bugzilla's advanced search is quite powerful, especially when it comes to all the options available in the Boolean Charts and high-precision searches like regexp matching. Mastering all the options and understanding how Boolean charts work could be a challenge though. JIRA has flexible JQL language (JIRA Query Language) that allows you to build arbitrary boolean expressions. The interface for writing a query is a text box with auto-completion and error highlighting, and is generally more usable than the large Bugzilla's form. JIRA lacks some of the expert-level search conditions that Bugzilla can do and searching for text in JIRA issues may be limited by how Lucene index works. Third-party plugins can extend JQL functionality through custom functions.
Security Due to full open-source code exposure and usage by Mozilla and some other big players, Bugzilla's security should theoretically be very high. Bugzilla team publishes security advisories and releases security patches in a very reasonable time. Atlassian takes security seriously and publishes security advisories and patches when security threats become known. Compared to Bugzilla, JIRA security risks are somewhat higher due to the larger overall complexity, a lot of client-side JavaScript code, and additional functionality provided by 3rd-party plugins.
User Interface Bugzilla user interface hasn't changed much over the years. Some usability improvements have been added, but overall, nothing fancy. The HTML is generated from templates, and some companies have modified those templates to make Bugzilla look a lot better. JIRA user interface by far better than Bugzilla, out of the box. A lot of effort has been put into it, and it's being continuously improved.
Custom Field Types Types available in Bugzilla:
Text fields, Multi-selection, Drop-down, Date/time, Bug ID
Custom field types available in JIRA are too many to list, and even more custom field types available from plugins.
Custom Field Values / Conditions Bugzilla lets you show/hide the whole custom field or specific values based on the value of some other field. JIRA allows conditional configuration based only on Project and Type fields.
Workflow Bugzilla lets the admin define a global workflow for all Products by editing transition matrix (each cell allowing transition from status A to status B). Unlike JIRA, Bugzilla can let users select the initial status of a new issue and lets the admin configure which transitions require comments. Unlike Bugzilla, JIRA allows to define multiple workflows which are applied based on the issue's Project and Type. Each workflow may transition issue through a subset of statuses, with each transition possibly having a separate set of fields (Screen) that the user can fill out when doing the transition. Transitions may have pluggable, configurable conditions and post-functions. Overall, JIRA workflows are far more powerful albeit missing some features available in Bugzilla.
Issue Linking Bugzilla has only one link type: blocks/depends, plus a Bug ID custom field. JIRA has configurable link types with user-defined semantics. JIRA also has pluggable remote issue links, that allow to link an issue to any other entity outside JIRA.
Plugins, Addons, Customizations

Bugzilla has a few Bugzilla Add-Ons. Unofficial Bugzilla patches may be found on the Internet. 

JIRA functionality can be extended and altered by plug-ins to a very large extent. Atlassian has a thriving developer ecosystem with their own Plugin SDK, and JIRA has rich set of APIs that make it easy to create powerful plugins. Lots of JIRA plugins are listed on Plugin Exchange





Jira vs. Rally for Agile Project Management: Notes to self from:http://www.comparz.com/blog/entry/jira-vs-rally-for-agile-project-management

Jira and Rally and two top agile project management solutions for robust project managment. How do theses two products compare with each other?
The Features
The feature set is fairly comparable between the two products. Jira has more than 150 features and includes everything from bug and issue tracking to web application testing to pre-built project reporting. Rally offers a similar number of features, with a special emphasis on agile program management and platform integrations. It largely comes down to a tie between them for the most part.
Customization
Both applications can be thoroughly customized in different ways. Rally offers a full-featured Ruby toolkit and an extensive application SDK and component library for developers. It also uses an enterprise integrations framework so data can be easily synchronized with enterprise tools. Jira takes a slightly more basic approach to customization and provides a visual workflow designer that can shape the different processes or create entirely new ones to meet your need