Software Testing is an Art!

Android Layouts Cheat Sheet

See the UI Overview and Layouts Guide. The attributes for the children of each type of layout are listed in the LayoutParams classes. For LinearLayout, see the LinearLayout Guide, class LinearLayout and its source code, and class LinearLayout.LayoutParams and its source code. For RelativeLayout, see the RelativeLayout Guide, class RelativeLayout and its source code, and…

Java Basics Exercises

Write a program that prints the sum of the first ten positive integers Double your savings The better deal car Drive a car or take the train Write the code to draw a tower of blocks Draw a flower   Write a program that prints the sum of the first ten positive integers, 1 +…

Learning Python

Python is a widely used general-purpose, high-level programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than would be possible in languages such as C++ or Java. The language provides constructs intended to enable clear programs on both a small and large scale.…

Android Anatomy

Android Architecture Layers: 1. Applications Alarm / Browser / Calculator / Calendar / Camera / Clock / Contacts / Email / Home / Media Player / Photo Album / SMS / MMS / Voice Dial The native applications provided with the particular Android implementation + the third party applications. 2. Android Framework It provides a lot…

Video related post…

Graphics cards Graphics cards take data from the CPU and turn it into pictures. Like a motherboard, a graphics card is a printed circuit board that houses a processor and RAM. It also has an input/output system (BIOS) chip, which stores the card’s settings and performs diagnostics on the memory, input and output at startup.…

Monkeyrunner

Monkeyrunner is a tool provides an API for writing programs that control an Android device or emulator from outside of Android code. The API is contained in three modules (classes) in the package com.android.monkeyrunner: MonkeyRunner – provides a method for connecting monkeyrunner to a device or emulator. MonkeyDevice – provides methods for installing and uninstalling packages, starting…

batch basic

Batch file is a type of scripting file containing a series of commands to be executed by the command line interpreter. ECHO – The “print” statement for .bat files. ECHO OFF – The program won’t show the command while it’s running – it’ll just run the command. PAUSE – Output is “press any key to continue…”…

Must Read

Elisabeth Hendrickson, “Exploratory testing in an agile context” A mini-book related to the role of exploratory testing in agile development. Michael Bolton, “Testing Without A Map” Sometimes when faced with an unfamiliar application and a directive to test it, it can feel as if you’ve been asked to chart a course through unknown waters. You’re…

Agile Testing Overview

Some of the teams that claim to be doing “Agile” aren’t.  Compressing the schedule, throwing out the documentation, and coding up to the last minute is not Agile. Agile methods are above all sustainable.  Agile teams really do need testers, but they don’t need is QA acting as a Quality Police.   Nine Principles for testing…

Quick Info

N.B. last update – 04/27/2015 What is the most popular browser? Google Chrome – 63,7% Mozilla Firefox – 22,1% Internet Explorer – 7,7% Safari – 3,9% Opera – 1,5%   What are the latest versions of the major browsers? Google Chrome – 42 Mozilla Firefox – 37 Internet Explorer – 11 Safari – 8 Opera…

All about Logcat usage

A LogCat = a summary of every action you perform on the Android device + a system log of everything going on in the background. Use LogCat from within DDMS or call it on an ADB shell. [adb] logcat [option]… [filter-spec]…   Use  adb logcat -c to clear the log buffer. This will reset the log and only…

Getting Android Logs

Log-File locations There are several directories where logs (including those from crashes) might appear – not all of them are standardized (i.e. some may be ROM-specific). Some examples are: /data/anr “Application Not Responding” files /data/dontpanic seems to be a standard location (AOSP), and contains some crash logs including traces /data/kernelpanics /data/panic/panic_daemon.config may point to other locations configured…

Java Exceptions

There are three main types of Exceptions: Checked Exceptions, Runtime Exceptions, Errors. Checked Exceptions have to be handled by the code. These represent avoidable exceptional conditions which can be handled and recovered from. Runtime Exceptions need not be handled by the code. These represent unexpected exceptional conditions which can be handled but not necessarily recover from. Errors need not be handled…

All about Test Cases

Why write Test Cases? The big reason for doing test cases in advance is to give you more time to think about the feature. The creative juices take a bit of time to get flowing and having the application in front of you with the clock running towards the release is not conducive to that.…

iPhone Tricks

Airplane mode Turn on airplane mode when  charging a phone  =  the phone will charge almost twice as fast. The compass doubles as a leveling tool Swipe left in the Compass app = you will find a level. Get a domain fast When typing a URL into Safari,  hold down the period key = a  handy…

Android Testing Map

1. Hardware 1.1 Screen sizes Small / Normal / Large / xLarge 1.2 Density mdpi / ldpi / hdpi / xhdpi 1.3 Manufactures Motorola / HTC / Amazon / Samsung / Sony / ZTE / Acer / LG / 60 million others 1.4 NFC Payments / Android Beam 1.5 WiFi 1.6 Bluetooth 1.7 Dual-SIM 1.8 Single/Multi-core processor 1.9 Camera / QR scanner 1.10 HDMI output 1.11 Handsfree 1.12 Non-touch…

Some Questions about Mobile Testing

  What is mobile application testing and how is it different from Mobile Testing? Mobile Application Testing (MAT) is the testing of application on mobile devices and it is different from Mobile Testing (MT). MT will focus on the native application features of the Mobile devices such as Call, SMS, Media Player… while in MAT we…

Android Dictionary

  .APK Android application package file. Each Android application is compiled and packaged in a single file that includes all of the application’s code (.dex file), resources, assets, and manifest file. The application package file can have any name but must use the .apk extension. For example: myExampleAppname.apk. For convenience, an application package file is…

Some useful adb commands (+fastboot)

Basic adb devices to list devices adb kill-server -> adb start-server  OR android update adb if device is not listed adb shell getprop all INFO (device, settings,…) adb shell screencap -p /sdcard/screen.png to take a screenshot  (starting with Android 4.X) -p – write profiling data to file. adb shell screencap -p /sdcard/screen.png adb pull /sdcard/screen.png adb shell…

Testing Criteria for Android Applications

This is the App Quality Alliance (AQuA) Testing Criteria for Android™ applications.   A simple Android application will require the following tests to be carried out: 1. Install and Launch 1.1 OTA Install 1.2 Long launch time 1.3 Move to external memory (SD card) 1.4 Uninstall App 2. Memory Usage 2.1 Memory during run 2.2…

adb batch scripts

A simple loop: 1. Swipe right – 25 times 2. Swipe left – 25 times 3. Repeat steps 1 & 2 :loop FOR /L %%i IN (1,1,25) do ( adb wait-for-device shell input touchscreen swipe 1400 800 200 800 1000 ) FOR /L %%i IN (1,1,25) do ( adb wait-for-device shell input touchscreen swipe 200…

Testing Types

  Manual testing Tester plays the role of an end user. Test all features to ensure the correct behavior.   Automation testing A process of writing a computer program to do testing that would otherwise need to be done manually.   Black Box testing Testing done from user perspective (no access to source code used)  …

Models and Methodologies

When discussing software development models there are two additional points that should be kept in mind: A software development model isn’t a software development methodology. Software development by a development team is different than the development of software by the organisation.

Test Heuristics Cheat Sheet

Elisabeth Hendrickson’s Test Heuristics Cheat Sheet 1. Data Type Attacks Paths/Files Time and Date Numbers Strings General 2. Web Tests Navigation Input Syntax Preferences 3.  Heuristics Variable Analysis Touch Points Boundaries Goldilocks CRUD Configurations Interruptions Starvation Position Selection Count Multi-user Flood Dependencies Constraints Input Method Sequences Sorting State analysis Map making… 4. Frameworks Judgment Observations…

Software Development Life Cycle

SDLC is a conceptual model used in project management that describes the stages involved in an information system development project, from an initial feasibility study through maintenance of the completed application. Stages are: Planning (Concept development & Planning); Analysis (Requirements gathering & Analysis); Design (Architecture & Specifications); Development (Development; Test; Implementation); There are three main…

Software Testing Life Cycle

STLC is a part of Software Development Life Cycle. Following steps are involved: Requirement Analysis Test Planning Test Case Development Environment Setup Test Execution Test Cycle Closure Requirement Analysis is the very first step in Software Testing Life Cycle (STLC). In this step Quality Assurance (QA) team understands the requirement in terms of what we will…

linux basic

Basic Navigation In Linux, programs are usually stored in /usr/local or /usr/share pwd – Present working directory   ls – List directory contents ls -l   in long listing fashion ls -a   including hidden files (starting with ‘.’) ls -la   in long listing including hidden files ls -l /etc   not to list current…

SQL basic

Database (dB) is an organized collection of data. Relational databases use tables to store information and specify the relations between those tables; Schema is a logical container for database objects (tables, views, triggers) that user creates; Table is a container for data elements and relations.  It’s using columns (fields) and rows (records); Field is a…

Examples of some SQL queries

SQL SELECT Statement: SELECT column1, column2….columnN FROM   table_name; SQL DISTINCT Clause: SELECT DISTINCT column1, column2….columnN FROM   table_name; SQL SELECT Statement: SELECT column1, column2….columnN FROM   table_name; SQL DISTINCT Clause: SELECT DISTINCT column1, column2….columnN FROM   table_name; SQL WHERE Clause: SELECT column1, column2….columnN FROM   table_name WHERE  CONDITION; SQL AND/OR Clause: SELECT column1, column2….columnN FROM   table_name WHERE  CONDITION-1 {AND|OR}…

HTML basic

HTML is a markup language to describe Web pages. Markup language is a set of markup tags. HTML file should start/end with the special tags. Tags are keywords surrounded by angle brackets and normally come in pairs. Standardization: ISO-8859-1 (standard character set for Western language). How to retrieve HTML document? Browser: → Sends request to…