Friday, 2 January 2015

Tester as life jacket during a flight disaster.

Tester can save some lives/

From past months ,it is indeed sad for all human souls out here on earth and also aliens who are unknown to hear such bad news about flight disaster.They might have been prevented if a tester could have given a suggestive bug to the developer of the software used in the emergency locator's device.It might have been possible to know the exact failure time  situation of the flight and also the location at that moment.May be an emergency navy ship or supersonic aircraft could have saved some lives.

Risk based testing could have exposed such lethal failures and a suggestive bug  might be better shot formula to prevent such large scale disasters.

My risk based test for the aviation software used in emergency locator's device based software;

-what if the plans on rocky mountain and there is severe impact on aircraft during landing on the slope of mountain?Does the emergency locator device send signals ?

-what if the plane makes emergency landing on sea and many passengers switches on his tablet or ipad or phone ?What happens with the performance of emergency locator's device signal?

-what if a radar shield is somewhere near the aircraft disaster?What happens with signal transmitted by emergency locator's device?

Can i expect 10 risk based tests from some of the readers
of the blog .Please do make a point or two!

HAPPY NEW YEAR FOR LOADS OF FUN!

Sunday, 23 November 2014

Fivefold Testing System.

Fivefold testing System.

This blog post is about five fold testing dimensions that can be used by a tester to get the required Information from the product under test. This post is very brief and limited to non description of the terms that Are mentioned. Each of these dimensions can be isolated and used or used in combination with other dimensions to find failure Behaviours.

There are five dimensions in this system-Tester, coverage, potential problems, activity based dimension and evaluation based dimension. Each of this  one, has its own context and meaning associated. Tester dimension is related to information about the person who is performing testing. Coverage is about identifying areas to be tested. Potential problems are related to risk areas that are relevant to system under test. Activity based dimension relates to information about how a tester test his app.Finally,evaluation is about knowledge base related to make judgement about information we receive from the product. Each of these dimensions has many techniques linked with it.

People based testing is about information on who does testing. Some common techniques used in this dimension  can be user based, subject matter expert, customer, test team; external user .Coverage based dimension is used to focus on identifying areas to be tested. For instance, popular ones in this dimension could be spec based, requirement based, configuration, logic, state transition, combination, domain, function, menus, constraint based.


Problem based dimension is used to identify risk areas in the product/service. It could be very useful to find out risk Areas  related  to computation,storage,input,output,security.There can be many more relevant techniques associated with this dimension. Activity based dimension is concerned about how the tester tests. For instance this dimension deals with techniques like (to name a few)explore,scripted,manual,regression,load,performance ,scenarios,smoke test.

Evaluation based techniques can be used as a knowledge base to judge about testing. Some techniques that can be used like self-verifying data, oracles, and heuristic oracles, specifications, saved results .There are various artifacts that can be helpful in applying these dimensions to our app. Some of the important ones that are used are test matrix, all pairs, and trace matrix.



Finding right balance from this dimensions is a easy task provided we start doing it.However,this blog post gives a very simplistic view point of the five fold testing system.

Saturday, 22 November 2014

Mobile Tech Jargon

This blog post is short post about some popular terms associated with apple ios and android based os.It is far from exhaustive list that can be documented.



ios

  • ios is the foundation of apple products.let us catch up the important jargon associated with this fine devices.
  • Siri-It is a voice feature thru which task can be performed with the device.
  • icloud-Feature for seamless mobility between different devices and  also a storage  house on cloud.
  • Universal features.-Special consideration for world wide users.
  • Panorama view-It is 240 degree view available in ios camera/
  • Safari-It is a browser specific to apple devices.
  • cocoa touch-Fundamental Stack in ios for building app store apps.
  • Media layer-This stack is used for audio,video,graphic requirements in the software.
  • core services-It is foundation layer for cocoa touch and media layer.
  • core os-It is a layer that directly interacts with the device hardware.
  • udid-It is unique id associated with each device.


Android ios-


  • Android is based on Linux kernel.
  • AVD-It is a emulator.
  • ADB-Protocol that run through usb and can be used for debugging.
  • Dalvik Virtual Machine-Android app run on this and this machine  uses just in compiler along  with it.
  • Android Stack Architecture-It has four layers application layer,android debugger,android app 
  • framework,Android kernel.
  • Android has features that enable processes to share memory,inter process communication,debugging log files,power manager,support emulator cpu.
  • Android apps have uid and gid for each of its apps with paranoid networking facility.This enable security .
  • Native library in android can interact with app.framework through JINI and with kernel by system calls and signal calls.
  • Android has many packages inbuilt that support  various features.
  • APK-File created from sdk.
  • Android uses j2se classes;api
  • SDK provides .dex files for java byte code conversion.
  • Android resource xml file can be used to store data for app and they can be converted to class file.
  • Manifest file is used to store security settings.
  • Android uses activities,services,content providers,broadcast receivers as building blocks for app making.
  • Activity is relevant to user screen interaction
  • Services run in the background for  tasks like  i/o interaction or network set up; for example..
  • Content providers are used to provide database related functions .
  • Broadcast receivers act as notification agent like the ones we see on top of our screen.
  • Xml is used in android app as a way to store and exchange data.They are  key-value pairs.

Thursday, 20 November 2014

TestersCrush

Testers Crush.

Testers do many mistakes during his interaction with the product, oracles, heuristics, and interaction with developers or management by developing certain stereotypical ideas (crushes). This all account for hidden time bombs that will explode in future. It has happened time and again. Lets us consider for example the Y2K syndrome or the present generation privacy syndrome or domain server war syndrome or ip address shortage syndrome.

The following article lets us know about typical stereotypical attitudes (crushes) among present generation testers and past testers .The enlisted stereotypes ideas could be textual or video or audio that we experience during our testing activity. The challenge lies ahead in using this stereotyped ideas individually or in combination in the right context rather than using it from  a narrow point of view.Thus, we can make the IT services or products  better.

Testers usually form continuous patterns, forms, figures, groups that are very limited in nature and leaves behind discontinuous ones behind. These places can be the reserves for failures. Testers have a tendency to leave behind discontinuous forms and irregular forms under the hood. His interpretations are closed and limit himself to stereotypical figures and their backgrounds. He limits himself from going to that  extra mile and find out alternative viewpoints. Time pressure, metric calculation pressure contributes a bit for this type of behavior.He always look forward to form proximity and group similar chunk s together. His short sight makes him blindfolded for that extra mile or view point to tap the hidden bugs.

I conclude this post by urging the testers to use these stereotypical ideas (crushes) in right dosages, intervals , combination in the right context. I don’t prescribe testers to weed out this but make use of it for tapping the hidden bugs.


MindMapping and Speedreading

Speed Reading for tester:

Speed reading is important for testers. They might have to read lot of documents to understand the design documents, architecture documents, and external documents. Lot of information is  essential for performing different type of tests related to each test strategy. These kinds of situations are very time sensitive. Speed reading can help us a bit in removing the boring part of reading many documents.

Reading material is normally divided into different paragraphs and heading. Depending on the nature of the reading material and individual requirement, the choice of headings that should be read can be decided. The choice of identifying the required reading is challenging and depends on the task at hand. Once the choice of reading material is finalised; speed reading can be started.

Simple techniques might help us. We should never   reread or making any other bodily movement other the eye contact with the test. It is very important to first skim the document and find out the relevant difficult words, sentences and their meaning. This will create a new knowledge base for us .It is bad practise to reread Words or sentences again. It is better to understand about difficult words at this stage...

Each individual paragraph from the identified reading material can be read by going though each sentence from it.   It is always good idea to group words and form an image of it and relate to its physical world or underlying process. Most important advice for speed readers is to sit in a comfortable sitting position without any noise. Imagining visual images for each sentence or group of words can reduce the time to read. There might be a situation when a speed reader can grab the whole paragraph with a single visual image that he can relate to.

Now ,lets put this in practise.Try IT and let us be one among them .We can choose each of these discrete  ideas as per our context. These approaches can increase our reading speed and make use speed reader.

Mind mapping for a tester:

Mind mapping is useful for creating a structure in our mind in related to testing tasks. There are always many ideas that are essential for a testing mission. In order to use ideas for effective testing mission; Mind maps can play an effective role.

Creating mind maps around each Central idea (main word) is the first step. This is the starting idea (main word).Each main word (idea) can branch out to different word (idea) and branch out further to many levels. It is like a tree structure and connected through thick lines at the higher order nodes and thinner lines at the bottom end. Use of colors and images for certain words (ideas) and lines can help us to frame better visual images.Each idea(word) can be termed as a node.

There are tools like xmind to work out this technique. The ideas created between the bottom node to the parent  node should be very constructive and clear. Different configurations and operations among these tree structures of  nodes can be recreated to identify possible new structures and ideas.

  Let’s try it and use it for our work….

Tuesday, 18 November 2014

WebTech Terminology

Web Tech Terms:

I post some key terms and their meaning.The meaning  that are presented in this post are narrow ,but are quite related to the detailed definition that can be defined.

  •  Cookie-Sample text file used by web apps 
  • Mvc- It is a design pattern. Controller acts as a agent between user interface and database.
  • Design patterns-It is a template for a solution.
  • Framework-It is a reusable component.
  • Types of files-There are various types of files like jar,war,ear,sql at the production level
  •  Checkout system-It is a code repository maintenance system.
  • N tier system.-A system which has many layers and each layer has specific functionality.
  • Soap-It is a protocol specification for exchanging structured data and used in web services.
  •  Rmi-It is a java api for distributed computing.
  • API-Interface that programmers can use in their app.
  • Rest-It is a communication protocol used in web services.
  • Corba-It is a distributed computing enabler service.
  • Web services-It is  a platform independent method for data access.
  •  Wsdl-Language used for defining web services.
  • Smtp-Protocol used in emails.
  •  Json-It is used for data interchange in the web
  • Parsing-It is a syntax analysis procedure.
  •  Port-It is a application specific construct in networking.
  • Socket-It is an end point of an interprocess communication.
  • Dns-Service that translates domain name into ip address.
  • Host- Thing connected to internet.
  • Http-Application protocol that use get,post,put, delete commands.
  • Web server-Server which processes http requests.
  •  Appserver-It is a framework for handling business logic.
  •  Soa-Structure supporting communication and services on the web.
  • Middleware-It connects OS and other components of app on the web.
  •  Gsm-It is a communication standard
  • Nativeapp-App designed for a specific device
  • Hybridapp-Multipurpose app.
  • Simulator-It is used to create artificial environment.
  • Emulator-It is an combination of hardware and software for  creating artificial environment.
  • Linker-Library files can be linked to object files used  by a linker
  • Loader-It is used to put an app file into memory
  • Debugger –It is used to correct bugs.
  • Hybrid compilation.-It has both compiler and interpreter function.
  • Shell –User interface aspect of os
  • Kernel-User interface aspect with hardware.
  •  Register.-It is a storage space in processor.
  • Interrupt-It is a signal to processor emitted by hardware or software.
  •  Stateless protocol-Independent transaction are used.
  • Stateful protocol-Transactions are not independent.
  •  Tcp/ip-It is an end-end protocol
  •  Firmware-Software written in rom
  • Main memory-It is a working memory.
  • Ssl and tls-Data encryption standard used in web apps.
  • Hub- It is used to connect different lan segments.
  • Switch-Different devices can be connected and data can be forwarded with a switch.
  • Gateway-It is a proxy server that routes between different servers.
  • Router-It forwards data packets.
  • Interface-It is a point of contact between private or public network.
  • Mac address –Special address assigned for network device.
  • Datagram-Basic transfer unit in network.

Sunday, 16 November 2014

Security Testing Snippet

Security Testing snippets.

The following short article is applicable for testers to gain certain info .Security is a way to protect the system in terms of integrity and authorization. .I will present few trouble spots  that are fundamental  for testers at various skill levels.

Url manipulation in the server is favorite spot for hackers.This leads to data theft.Spurious script input and HTML  tag inputs also can used as a way to hack the system.This type normally occurs at user interface layer.data transaction that occur between various stateless and state ful protocols should be analysed for any possible breaches.There should be no breach of confidence for the user in terms of his roles and rights.Possible strong encryption and password checking will contribute to better security. Nowdays nano tech processors makes it easy to break paraphrases within short times.This  should be checked.There are loop holes in terms of unwanted script execution during data transactions between nodes of the webapp.This aspect should be investigated.cookies are one of the favorite tools for hackers to gain access to data.This condition should be negated in various contexts. Usage of input data beyond limit and special symbols  with the form might be risky for the user.Data theft from main memory is the buzzword for hackers .This particular use case is more relevant with smartphone and tablets.

The above paragraph tells us about  few important trouble stops that need to be questioned by using age old technique of who,what,where,why,how,which,whom,with w.r.t to system architecture and its users.Certain tools can be handy if we have write test approach to uncover the mystery.Finally we can make good risk assessment and informed decisions .