Sunday, September 22, 2019

Quality Assurance - Must Know

Quality Assurance Team plays a critical role in testing and validating the software.
Manual Testing of software is relatively easy but the understanding of processes keeps you distant apart from a regular engineer.

Testing of applications can be done, either through,
i. Manual Testing
ii. Automation Testing

Types of Applications, 
i. Native Application
ii. Web Application
iii. Hybrid Application

Platforms where applications are typically launched
i. Android devices, includes TV, phones, Tabs and any custom devices
ii. iOS devices, includes TV, phones, Tabs and any custom devices
iii. Smart TV
iv. Browsers like Safari, Chrome, IE, Firefox
v. Set Top Boxes
vi. Native Infotainment Systems


All about Android Applications
Android in current times hold 80% of market share and testing of android applications is a very crucial and opens a door with vast set of opportunity

Important Pointers while testing Android application.

1. adb setup and installation for Android devices
Communication with devices can happen through adb commands. adb is included in the Android SDK Platform-Tools package. The package with the SDK Manager can be downloaded from 
https://developer.android.com/studio/releases/platform-tools
Download the zip file and extract it in a folder typically in c:\adb\

Environment variable setup for windows
Open the Start menu and search “advanced system settings”
Click “View advanced system settings”
Click “Environment Variables”
Under “System variables” click “Path”
Click “Edit...”
(Windows 10): Click “New” and paste the folder path where Platform Tools are extracted. Press the OK button.
(Windows 7 and 8): Add ;[FOLDERNAME] to the end of the “Variable value” box, replacing [FOLDERNAME] with folder path where Platform Tools are kept. Add semicolon at the beginning so Windows knows you’re adding a new folder.

Now open command prompt and type adb and hit enter. The response should be a list of supported adb commands. If any errors related to command not found, try the following,
i. Restart the system
ii. Confirm the environment variable is set properly with correct path

2. Connection with Android Devices through adb

To use adb with a device connected over USB, enable USB debugging in the device system settings, under Developer options.
On Android 4.2 and higher, the Developer options screen is hidden by default. 
To make it visible, go to Settings > About phone and tap Build number five to seven times. 
Return to the previous screen and search for Developer options.
On some devices, the Developer options screen might be located or named differently, please check from manufacturers specific to Vendor/model/make

ADB Command to list down all the devices connected to Machine through USB,
adb devices

ADB Connect to a device over Wi-Fi (Android 10 and lower)
adb usually communicates with the device over USB, but you can also use adb over Wi-Fi after some initial setup over USB, as described below. 

Connect the Android device and adb host computer to a common Wi-Fi network accessible to both. Beware that not all access points are suitable; you might need to use an access point whose firewall is configured properly to support adb.
If you are connecting to a Wear OS device, turn off Bluetooth on the phone that's paired with the device.
Connect the device to the host computer with a USB cable.
Set the target device to listen for a TCP/IP connection on port 5555.
adb tcpip 5555

Disconnect the USB cable from the target device.
Find the IP address of the Android device. For example, on a Nexus device, you can find the IP address at Settings > About tablet (or About phone) > Status > IP address. Or, on a Wear OS device, you can find the IP address at Settings > Wi-Fi Settings > Advanced > IP address.
Connect to the device by its IP address.
adb connect device_ip_address

Confirm that your host computer is connected to the target device:
$ adb devices
List of devices attached
device_ip_address:5555 device

Connect to specific device if Multiple devices are connected to the system
Open command prompt and type the command,
adb devices

If the result shows multiple devices and you want to connect to specific device the command is,
adb -s <device id> shell

<device id> can be fetched throughadb devices command.

3. Installation of application
Android app, typically an .apk file can be installed by the following methods,
i. Download & Install through Android Play Store, Marktplace, Alpha and Beta Stores
ii. APK if downloaded through drives or any other third party app centres on devices can be installed through Android Package Installer
iii. APK can be installed using adb commands, 
adb install Testme.apk
If you want to replace the existing application the command is,
adb install -r MyApp.apk
4. Log Collection
Debugging of Android devices can be done through various ways some of it are,
i. Android terminal application that can capture logs 
ii. Using adb commands
To capture android logcat commands,
adb logcat
To capture android logcat commands and save in a file,
adb logcat > abc.txt 
Print the most recent lines since the specified time. 
adb logcat -t '01-26 20:52:41.820'
Flush (clear) the entire log and exit.
adb logcat -c
Only print logs from the given PID.
adb logcat --pid=<pid>

Sunday, September 12, 2010

Stagefright player and its class diagram...

An overview of Stagefright player

There is a new playback engine implemented by Google comes with Android 2.0 (i.e, Stagefright), which seems to be quite simple and straightforward compared with the OpenCORE solution.
  • MediaExtractor is responsible for retrieving track data and the corresponding meta data from the underlying file system or http stream;
  • Leveraging OMX for decoding: there are two OMX plugins currently, adapting to PV's software codec and vendor's hardware implementation respectively. And there is a local implementation of software codecs which encapsulates PV's decoder APIs directly;
  • AudioPlayer is responsible for rendering audio, it also provides the timebase for timing and A/V synchronization whenever audio track is present;
  • Depending on which codec is picked, a local or remote render will be created for video rendering; and system clock is used as the timebase for video only playback;
  • AwesomePlayer works as the engine to coordinate the above modules, and is finally connected into android media framework through the adapter of StagefrightPlayer.

Wednesday, June 2, 2010

[Ubuntu] Error while logging-in.

“The configuration defaults for GNOME Power Manager have not been installed correctly. Please contact your computer administrator.”

Behavior:
After you enter the password on login screen, it takes you back to login screen making you unable to log in.

Solution:
However, you can still get to terminal. Press Ctrl+Alt+F1 to drop to terminal from login screen. Enter your username and password and execute the following command:

sudo apt-get clean

This will clean up the package cache freeing up lots of disk space. If you don’t have anything in the cache you’ll have to move your files to another partition. You can use mvfor the purpose.

mv source destination

For eg;
mv ./file.zip /media/disk-3/file.zip

This will move the file – file.zip to /media/disk-3.

Cheers!

Monday, April 5, 2010

Network Card Information.

For logging on to the net or for attaching as a node on a LAN, your computer needs a network card. The network card forms the interface between your computer and the network. There are different kinds of network cards available in the market depending on its speed and other features. Here is a tip to find out the characteristics of your network card.

If you want to find what type of network card is used, its speed, on which IRQ it is listed, and the chip type used, you use the following command :

# dmesg |grep eth0
Here eth0 is the first network card. If you have additional cards, it will be named eth1, eth2 and so on. And here is the output of the above command :
divert: allocating divert_blk for eth0
eth0: RealTek RTL8139 at 0xd800, 00:80:48:34:c2:84, IRQ 9
eth0: Identified 8139 chip type 'RTL-8100B/8139D'
divert: freeing divert_blk for eth0
divert: allocating divert_blk for eth0
eth0: RealTek RTL8139 at 0xd800, 00:90:44:34:a5:33, IRQ 9
eth0: Identified 8139 chip type 'RTL-8100B/8139D'
eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
eth0: no IPv6 routers present
...
The important things to note here are those highlighted in colour. As you can see from the above listing, my ethernet card is a RealTek RTL8139 chipset based card on IRQ 9 (Interrupt Request). Its speed is100 Mbps and is a full-duplex card. And the link is up.

Wednesday, March 31, 2010

how to set variables in Linux ubuntu...???

Question: I wrote my own shell scripts and kept those in bin directory in my home directory. I set the PATH variable as PATH=$PATH:$HOME/bin so that i can run those scripts directly as usual commands whatever may be the present working directory. But it is working for that session only. If I close the shell prompt and reopen it, the previous PATH variable that i set is dissapearing from PATH. Now, the scripts which are in bin directory, can no more run as usual commands. I need to again set the PATH variable to that bin directory.
Is there any way to set environmental variable "PATH" permanantly so that it will not dissappear from PATH variable listing?

Answer: Assuming you are using bash as your shell, put this in your .bashrc file. Your .bashrc file should be located in /home/Yourusername/.bashrc or ~/.bashrc for short.

this is what you should put in that file:

export PATH=$PATH:/home/YourUserName/bin

OR

If you want to set the path of a user you can edit your .bash_profile in home directory.

In my .bash_profile i have:

# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
PATH=~/bin:"${PATH}"
fi

If you don't have it copy and paste this code.


Thursday, February 4, 2010

Only for u jAAnAAA...

Aaj na jane kyu kuch kami si lag rahi hai,
Airport ki security ki koi tension nahi hai,
Na hi onsite jane ka koi excitement hai,
Aur to aur Airhostess ko dekhne ka koi craze nahi hai,
Kahi na kahi kuch na kuch to ho raha hai.....!!!

Samaaaa kuch badla badla sa lag raha hai,
Jiske baare me sirf hamesha suna tha..
woh sab mere saath hone laga hai,
raaton ki nind aur din ka chain sab khone laga tha,
Aur ab to me bhi din me sapano me khone laga tha...

Yuun to baarish ki boondon ne hamesha hi fantasize kiya tha,
lekin is pehli baarish ka alag hi ehsaas tha,
woh dhime se hawa ka gaalon ko chu jana,
Aur kissi ke saath hone ke ehsaas se hi..
hootho par halki si muskaan ka aajana...
Kabhi socha na tha ki kissi ke aane se,
Zindagi itni badal jayegi...

Ohhoooo abhi samajha yeh achanak badlaav ka raaz,
bichara dimaag kya kya sambhale,
Ab dil to humare paas hai nahi aur jo bacha hai,
usme bhi sirf tumhari hi yaadein hai..

Yaara yeh pyaar bhi badi kamini cheez hai...
Har pal har samay sirf unhi ka khayal rehta hai,
Ab to har chehre me sirf tum hi dikhai dete ho,
Aur sabhi ke woh nakhare bilkul tumhare lagate hai,
Dar lagata hai kayi baar kahi unhe tum na samajhkar...
kuch ulta sidha na kar doon..... :-)

Abhi kissi ke saath hone ke ehsaas jude hi the ki,
kismat ko kuch aur hi manzoor tha,
na jaane kiski nazar lagi thi hume ki,
milte hi fir juda hona tay ho gaya tha..

milna bichadna to upar wale ke haath me hai..
ya kameeno dostoon ka jealouspana hai,
ya yu kahu ki yeh sab dil ko behlane ke tareeke hai,
hume to sirf yeh jatana tha ki aapse door hokar
hum aapko kitna miss karte hai..
koi agar boondo se naape to sara samundar bhi kam pad jaye,,,,, :-)

Monday, June 1, 2009