Saturday, January 25, 2014

Some Historic Wireless Communication Systems

GSM class:

  • 1981 NMT 450
  • 1986 NMT 900
  • 1992 GSM
  • 1994 DCS 1800
  • 2000 GPRS
OTHERS

  • 1983 AMPS
  • 1991 D-AMPS
  • 1991 CDMA
  • 1993 PDC
Finally they merged into IMT-2000 in year 2001.

Next wave is Fourth Generation (Internet based).

Friday, January 24, 2014

History of Wireless Communication

Ancient Times used light or flags for wireless communication.
Light was modulated using mirrors (amplitude modulation) OR flags were used to signal code words (amplitude-frequency modulation)

Scientist who contributed in the development of wireless communication are:

Claude Chappe invented optical telegraph in 1794
Alexander Graham Bell invented telephone in 1843.
Michael Faraday and Joseph Henry demonstrated electromagnetic induction.
James Maxwell layed theoretical foundation of electromagnetic fields in 1864.
Heinrich Hertz demonstrated the wave character of electrical transmission through space.
Nikola Tesla increased the distance of electromagnetic transmission.

Guglielmo Marconi gave first demonstration of wireless telegraphy in 1895. He used long wave transmission.
Later he discovered short waves (that are reflected by ionosphere) for wireless transmission.

Lee DeForest and Robert von Lieben invented electronic vaccum tubes in 1906 that reduced the size of sender and receiver.
Edwin Armstrong invented frequency modulation in 1933.

Wednesday, November 6, 2013

Jenkins - a build tool and more

Jenkins is a integration server and used to build software automatically.
Jenkins also monitors external tasks.
Jenkins can periodically build software from SVN.

Install Jenkins and access http://localhost:8080.

Create Jenkins Job!
The details about building a source code have to be stored in Jenkins. So you create a Jenkins Job.
Jenkins Job can be in Windows batch, Linux shell script, Ant or Maven script.

When a developer check-in his code, Jenkins  builds the code (either polling a SCM or periodically triggered).

Jenkins not only builds a project periodically, but has great capabilities. For example, with Jenkins plugins, use Jenkins as Android App development tool, or use it for file tracking, or use it for monitoring tool for cron jobs in Linux.

The Android Emulator plugin
Jenkins allow to build and run APK file on an Android Emulator. Tasks like SDK installation, build file generation, emulator creation and launching, APK installation/ uninstallation, monkey testing and analysis etc all can be done with Jenkins.
Install the Jenkins Android Emulator plugin.



Tuesday, July 30, 2013

JMeter


JMeter is a desktop application, designed to test and measure the performance and functional behavior of client/server applications. JMeter works by acting as the "client side" of a "client/server" application.


It measures response time and all other server resources such as CPU loads, memory usage, and resource usage. JMeter is used to load-test FTP servers, database servers, and Java Servlets and objects. Today, it has been widely accepted as a performance testing tool for web applications.




The Features—What JMeter Can Do for You


  • Performance testing of HTTP and FTP servers, and database queries
  • 100% Java-based
  • Efficient GUI (Java Swing) design
  • Caching of test results

The basic elements of a JMeter include: Thread Group, Listeners, and Samplers. 
The Thread Group element simulates a group of users, which contains at least one user. As a Sampler element makes requests to the target server, a Listener element captures the response data or page following each request.



The Look-How-Easy-to-Use GUI
  • Thread Group—each thread simulates a single user. All elements of a test plan must be under a thread group.
  • Listeners—Provide access to the information gathered by JMeter about the test cases while JMeter runs.
  • Controllers—Samplers tell JMeter to send requests to a server, while Logical Controllers let you customize its logic.
  • Timers—Allow JMeter to delay between each request that a thread makes.
  • Assertions—Allow you to "test" that your application is returning the results you expect it to.
  • Configuration Elements—Working closely with a Sampler, these can add to or modify requests.

Once JMeter runs, you will see two elements, Test Plan and WorkBench,
A Test Plan describes a series of steps JMeter will execute once the Test Plan runs, while a WorkBench functions as a temporary workspace to store test elements.






Monday, July 29, 2013

Automated Testing


Test automation is the use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control, and test reporting functions.

Why Automate Testing?

Manual Testing costs too much, takes too much time, does not help them build the product.
Can we do without automation? Yes, of course—if time is abundant and your client (or boss) is NOT on your tail for the application's next release.
Automated testing IS NOT a total replacement for manual testing.

To Automate or Not to Automate.

  • Pick a good time to start automating.
  • Not all testing approaches are suitable to automate.
    1. Suitable: Acceptance, Compatibility, Load, Volume or Capacity, Performance and Reliability, Structural testing, Regression, Exception or Negative testing.
    2. Not suitable: Installation and setup, Configuration and Compatibility, Documentation and help, Error handling and Recovery, Localization, Usability, and any other that relies heavily on human judgment.
  • Make automation only a supplement to a testing project.
  • Do some comparison of Automated vs. Manual Testing.

How Much Does it Cost?

The total cost needs to consider the costs of numerous resources undertaking a testing project.
Person hours to test

Bugs found by the customers are much more expensive than if the same bugs are found during development.
Rex Black's cost of testing—no testing, manual testing and automated testing. 
Automation gives the client higher return on investment (ROI) than manual testing, while no testing at all brings no benefit in the long haul.









Sunday, July 28, 2013

Capacity Planning in Performance Testing


Capacity Planning is divided as - Server side and Network side.

Server Capacity Planning means to determine server hardware resources required to provide the desired levels of service for a given workload mix for the least cost.

Types Capacity Planning:
  • Capacity benchmarking.
  • Capacity trending.
  • Capacity modeling.

Benchmarking, or load testing, is perhaps the most common, but also the most expensive. The idea is, you set up a configuration and then throw traffic at it to see how it performs. To do this right, you need access to a fully-configured version of the target system.


Linear trend analysis and statistical approaches to trending can provide quick and dirty ways to predict when you will need to do something about performance, but they don’t tell you what you should do to optimally respond.


That leaves modeling, which comes in a couple flavors: simulation and analytic modeling. Simulation modeling can be very versatile and accurate, but requires a great deal of set up effort and time. Analytic modeling is fast and is potentially very accurate as well. The beauty of modeling is that you can “test” various proposed solutions to a problem without actually implementing them. This can save a lot of time and money.

Saturday, July 27, 2013

QPST - Qualcomm Product Support Tools


QPST is software package used for phones based on Qualcomm chips:
UMTS-based phones EF81, SXG75, SFG75, E81 and other (EF82, SL91, etc.).

QPST software includes:
QPST Configuration - COM-port selection to work with phone.
EFS Explorer - file manager for phone file system.
Display Capture - screen capture utility for Java-games and video playing.
FTM Application - front end testing.
RF Calibration - front end calibration.
RF NV Item Manager - NV-memory manager (EEPROM).
RL Editor - roaming list settings.
Service Programming - different phone settings.
Software Download - phone flasher.
QCNView - .QCN files viewer, generated by Software Download (Backup menu).
DMProxyWin - QPST ports translation server. Allows to connect to the current phone from another device, which connected to Internet using QPST and DMProxyWin.
Gang Flash Image Application - creates firmware and file system image to use in programmer such as Data I/O ProLINE RoadRunner or Data I/O FlashPAK.