How to prevent your account from hacking on Twitter ?

As a famous saying goes "Better be safe than sorry". This is appropriate while on Internet where you must watch out for attackers and hackers sitting in ambush. A slip-up on your part, and you are caught off guard, often pay up heavily for your innocent mistake.

History is witness to the fact that many of the Twitter accounts of well known personalities have been hacked and brutalized. Causing them lots of media glare and public angst unnecessarily.

There is no foolproof safety measure one can not exploit,  if they have set their mind on it, yet it doesn't harm to stay conscious .
So you must be thinking what can you do to get safe on the Internet? Fret not !! You can follow these simple steps and remain assured that your account is safe.

Twitter Security Settings

Implement  and tweak Twitter security settings appropriately. For this click on the profile photo on the top right. Access the settings from here and keep tweaking them regularly.

Privacy and  Security

To access the "Privacy" settings please visit  the panel on left. Click on  "Login verification". As you do this,  Twitter will send an OTP on the account that you have registered. This is something very important for the security of your account because each time you( or someone) with your password tries to login, you will get to know through your registered account, as you receive OTP.
Select "Password reset" now. So if somebody tries to change your password they will need to enter your personal information like contact number​.

Revoke Apps : 

This section in Settings shows a list of the apps that have access to your Twitter account. This is a very useful section,you because anytime you find an app suspicious, having the access of your account, you can revoke access of that app here.

Helpful Security Practices

Change Password Frequently : 

Always remember to change your password every three months. For this you can put a calendar alert which reminds you to change the password monthly or three months at the least.

Unique password: 

Your password must be unique in all circumstances. Pay utmost care to not keep the same password for two different accounts.

Keep the passwords entirely different. That means the whole password should be different, not just a single letter. 
Example:  Your Gmail password is spring@123, then your Twitter password shouldn't be springs@123 or springseason@123.

Difficult Passwords : 


Now this is a no-brainer.  Your password should not be your date of birth or your name etc. This must be something that is difficult to guess. 
Make sure that it is at least 8 characters long, has a number and a special character( like @, #, $ ).

Suspicious Apps and Websites : 

This is just a piece of cake to understand, has been said a hundred times, and still holds it's importance,  you must always stay away from anything that looks remotely suspicious on Internet.
Do not install any prank apps from the Google Play Store or any other third-party app site, ad pop-ups, spam and phishing mails. Be-wary, never click on any of these.
Having said that, we all know that no one can be entirely safe from hackers and cyber criminals on the Internet. But rest assured following these tips and practices you can keep your account absolutely safe.
So take care and follow these practices !!

Technology Tidbits - Did you know IoT has entered your home?

The Internet of Things (IoT) is the third dimension of the technology which has filled the space between the physical and online world. The transformation of the world has a great reason for the development of Internet of Things (IoT). 

How Internet of Things (IoT) and IoT Solutions help you?

Connectivity – Connect the two worlds offline and online. Correspondingly, through this, they can connect together and can make wonders for your business.
Integrating Systems – IoT solutions is not there to replace your existing system or technology but it is there to upgrade and transform the existing system with new standards.
Data – There are so many connections between numerous devices. So, IoT based solutions is all about collecting and securing the data with best available cloud technology.
Security – Where there is data involved, security plays a key role and so does in IoT. Correspondingly, data has to remain secure during transit. Also, while being stored or when used by the applications.
Remote monitoring – With IoT coupled with any place, you can also keep a track on all the systems with a remote access. Moreover, all the data is on the cloud which gives you complete freedom of accessibility.
Projection and analysis – Real purpose of IoT application is to tone down the cost of analysis and projections with real-time. Moreover, it also assures the accurate data for better usage and wider growth.


How to learn the concepts of API ? - Must know

What is API?

API is referred to Application Programming Interface. It is a set of methods of communication between various software components.
Example :  API for an object-oriented language such as Java provides a specification of classes and their methods.
An API in web development, is a set of Hypertext Transfer Protocol (HTTP) request messages, along with a definition of the structure of response messages, which is usually in an Extensible Markup Language (XML) or JavaScript Object Notation (JSON) format.

What is API used for ?

An API (Application Programming Interface) is the means by which third parties can write code that interfaces with other code and Web Service is a type of API, one that operates over HTTP.
An API facilitates communication between two different software systems.  More specifically APIs is often used to communicate between libraries , operating systems  and software applications, and  An API is much like a a software library.APIs classification on the bases of the way we use them.Some of the popular API Examples :
  • YouTube API
  • Twitter API
  • Google Map API
  • Flicker API

Types of API 

Libraries and frameworks


  • An API is related to a software libraryAn API for a procedural language is a set of basic routines to execute code, manipulate data or handle errors, while an API for an object-oriented language such as Java would provide a specification of classes and their class methods.

  • Language bindings are also APIs. These APIs map the features and capabilities of one language to an interface implemented in another language.
  • An API can also be a software framework.

Web APIs

Web APIs are those interfaces through which allow interactions between an enterprise and applications that use its assets. Web API is defined as a set of Hypertext Transfer Protocol (HTTP) request messages, along with a definition of the structure of response messages, which is usually in an Extensible Markup Language (XML) or JavaScript Object Notation (JSON) format. 
Making use of web APIs, web communities have been able to share content and data between several communities and different applications. Thus content created at one place can be dynamically posted multiple locations on the web.

Remote APIs

Remote APIs are often used by developers to manipulate remote resources through protocols. For example, Java remote method invocation API uses the Java Remote Method Protocol to allow invocation of functions that operate remotely, but appear local to the developer. Remote APIs maintain the object abstraction in object-oriented programming; a method call, executed locally on a proxy object, invokes the corresponding method on the remote object, using the remoting protocol, and acquires the result to be used locally as return value. 

Operating systems API

An API can specify the interface between an application and the operating system.An API is different from an application binary interface (ABI), an API is source code based while an ABI is binary based.


SOAP

SOAP (Simple Object Access Protocol) is a protocol specification. SOAP is used for exchanging structured information in the implementation of web services in computer networks. SOAP  uses XML for its message format, and it mostly dependent on application layer protocols, like Hypertext Transfer Protocol (HTTP) or Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission.
SOAP enables processes running on different operating systems (such as Windows and Linux) to communicate using Extensible Markup Language (XML). Since Web protocols like HTTP are installed on all operating systems therefore SOAP allows clients to invoke web services and receive responses independent of language and platforms.

SOAP has following major characteristics:

  • Extensibility (security and WS-Addressing are among the extensions under development)
  • Neutrality (SOAP can operate over any protocol such as HTTP, SMTP, TCP, UDP, or JMS)
  • Independence (SOAP allows for any programming model)

REST

Representational state transfer (REST) or RESTful Web services provide interoperability between computer systems on the Internet. RESTful Web services allow requesting systems to access and manipulate textual representations of Web resources using a uniform and predefined set of stateless operations. Other forms of Web service exist, which expose their own arbitrary sets of operations such as WSDL and SOAP.
 In a RESTful Web service, requests made to a resource's URI will fetch a response that can be in XMLHTMLJSON.  Using HTTP, as is most common, the kind of operations available include those predefined by the HTTP verbs GET, POST, PUT, DELETE and so on. REST systems has a fast performance, reliability, and the ability to grow, by re-using components that can be managed and updated without affecting the system as a whole.

RESTful Web services have following major characterstics :

  • Base URL, such as https://richasd.blogspot.in/p/java_29.html
  • An internet media type that defines state transition data elements (e.g., Atom, microformats, application/vnd.collection+json,[14]:91–99 etc.) The current representation tells the client how to compose requests for transitions to all the next available application states. This could be as a URL.
  • Standard HTTP methods (e.g., OPTIONS, GET, PUT, POST, and DELETE)





Technology Tidbits - Did you know how zigbee helps you?

Have you ever thought that when you hold a TV remote and want to use it, what is one thing that you must have? That is you have to necessarily point your control at the device. This one-way, line-of-sight, short-range communication uses infrared (IR) sensors to enable communication and control and it is possible to operate TV remotely only with its control unit.

Now, picture a home with entertainment units, security systems including fire alarm, smoke detector and burglar alarm, air-conditioners and kitchen appliances all within whispering distance from each other and imagine a single unit that talks with all the devices, no longer depending on line-of-sight, and trainsffic no longer being one-way.
This means that the devices and the control unit would all need a common standard to enable intelligible communication. ZigBee is such a standard for embedded systems.
ZigBee is a wireless networking protocol specifically designed for Internet of Things(IOT). It is a low power, low cost consuming network protocol ideal for sensor to sensor communication. 
Zigbee is the wireless technology which connects the devices in zigzag manner like bee. ZigBee is a wireless technology developed as an open global standard to address the unique needs of low-cost, low-power wireless M2M networks. The ZigBee standard operates on the IEEE 802.15.4 physical radio specification and operates in unlicensed bands including 2.4 GHz, 900 MHz and 868 MHz.

Technology Tidbits- Did you know how much data a DNA can store?

Do you know — 1 Gram of DNA Can Store 1,000,000,000 Terabyte of Data for 1000+ Years.
According to stats, 5.4 zettabytes (4.4 trillion gigabytes) of digital data, circulating and available worldwide, had been created by 2015, and it will boost to 54 zettabytes (ZB) by 2020.
The data storage density of DNA is enormously higher than conventional storage systems, as just 1 gram of DNA can store close to 1 Billion Terabytes of data.
Besides this, DNA is also remarkably robust, which means the data stored in DNA can stay intact and readable for as long as 1,000 to 10,000 years.

Top 10 Software testing trends

Trends such as faster development and quicker time-to-market not only keep the developers busy but also the testers. The need to deliver quality solution in lesser time means good coding, excellent test support and collaboration between development and testing team.

How to test a music player app on a mobile phone device?

For testing an app on mobile, we can do it module wise:
  1. Verify that if it works as expected on android and IOS both.
  2. Verify that it is accessible on Google/App store & can easily installed from there.
  3. Verify that it is installable on the mobile device.

What are the Top 5 automation testing tools and technologies in demand ?

Tools

Selenium WebDriver ( Java or python with TestNG integration ) and preferably with knowledge of CI tools - Jenkins or Maven
Appium or other tools for mobile automation

How to write top 50 test case for ATM ?


Positive Test cases

  1. Verify that the system gets initiated when user turns on the switch. 
  2. Verify that the slot for inserting the ATM Card is as per the specification

How to write Top 16 critical test cases for Pendrive


Test cases from real life that you are most likely to be asked in your interview.

Test case design techniques​

A Test Case is a documentation which specifies input values, expected output and the preconditions for executing the test.
A sequence of one or more sub tests executed as a sequence because the outcome and/or final state of one sub test is the input and/or initial state of the next. The word ‘test’ is used to include sub tests, tests proper, and test suites.
Objectives behind writing and executing the Test Cases:
Below mentioned are some of the objectives behind running the test cases.
1. Find the defects in software products
2. Verify that the software meets the end user requirements
3. Improve software quality
4. Minimize the maintenance and software support costs
5. Avoid post deployment risks
6. Compliance with processes
7. Help management to make software delivery decisions.

Following are the typical design techniques​-

1. Deriving Test Cases directly from a requirement specification or black box test design technique. The Techniques include:
  • Boundary Value Analysis (BVA)
  • Equivalence Partitioning (EP)
  • Decision Table Testing
  • State Transition Diagrams
  • Use Case Testing
2. Deriving Test Cases directly from the structure of a component or system:
  • Statement Coverage
  • Branch Coverage
  • Path Coverage
  • LCSAJ Testing
3. Deriving Test Cases based on tester's experience on similar systems or Testers intuition:
  • Error Guessing
  • Exploratory Testing

How to write Test Cases for software:

Use a Strong Title

A good Test Case starts with a strong title. As a best practice, it’s good to name the Test Case along the same lines as the module which you’re Testing. For example, if you’re Testing the login page, include “Login Page” within the title of the test Case.

Include a Strong Description

The description should tell the Tester what they’re going to Test and include any other pertinent information such as the test environment, test data, and preconditions/assumptions.

Include Assumptions and Preconditions

You should include any assumptions that apply to the test and any preconditions that must be met prior to the test being executed. This information can include which page the user should start the test on, dependencies on the test environment, and any special setup requirements that must be done before running the test. This information also helps keep the test steps short and concise.

Keep the Test Steps Clear and Concise

The Test steps should include the data and information on how to execute the test. This is perhaps the most important part of a Test Case. Keep this section clear and concise, but don’t leave out any necessary details.

Include the Expected result

The expected result tells the Tester what they should experience as a result of the test steps. This is how the Tester determines if the Test case is a “pass” or “fail”.

Make it Reusable

A good Test Case is reusable and provides long-term value to the software testing team. When writing a Test Case, keep this in mind. You can save time down the road by re-using the Test Case instead of re-writing it.


How to write test cases – step by step guide ?

Start with analysing the software requirements documents.You must have a clear idea of the application and its functionalities. Understand each module in depth and create test cases module wise. Start with a standard template that is agreed upon and approved by the management/ team lead etc. It must have basic columns and parameters to be included.

The following columns must exist in test case template :
  • Test case ID/Name 
  • Objective/Description
  • Test Steps, 
  • Test Data,
  • Expected Result, 
  • Actual Result, 
  • Status, 
  • Executed by,
  • Execution Date
Test cases ID/name: Is the number of test cases you wrote for your module.It is alphanumeric for unique reference. You should follow same format across the whole team.

Test cases ID/name should be self explanatory i.e. anyone should be able to understand the functionality covered in the test cases by reading the test cases name.

Objective/Description: You must write brief description of the test case as to what it does and how it checks the functionality or performance.

Test Steps: Create test steps one after another in the sequence. keep in mind that you should not combine more than one kind of validation in one step. Add attachments to test cases such as document/wire frame references if necessary.

Test Data: Mention valid as well as Invalid test data or Input data.

Expected Result: What is expected outcome of each step. Like if you click on login button you should be taken to the relevant page.

Actual Result:  What is the actual result after you execute the test step. Is it same as expected or is it different.This is documented when you actually run the test cases.

How to write effective test cases ?