What an idea Sirji!

Happy idea hunting…

The Pragmatic Tester

Idea is something so obvious that after someone tells you about it you wonder why you didn’t think of it yourself 🙂

But an idea-prone would say “An idea is nothing more or less than a new combination of old elements” –James Webb Young

I know many who read lots of book and at the end just say “wow! That is an amazing read”, but what really matters is how you relate the information you read to the reality, analyzing and thinking about it, and then try to check if that will work to your context.

“Information is not knowledge. The only source of knowledge is experience” – Albert Einstein

My initial title for I can’t Nike, Because I Reebok was just I am what I am, when I was thinking about this article came across Nike show room, which read Just Do it, at that time…

View original post 650 more words

OOPS! This is the Fundamental for Automation

Foundation for automation…

The Pragmatic Tester

Understanding the OOPS is the foundation for automation. This doesn’t mean that as an automation engineer you should have very strong knowledge in OOPS like any other programmer. All you should know is very basics like Class, Object and its Method and Properties to begin with.

Most of the automation tool identifies every object (like edit box, button, and drop down) by the properties and perform action on those objects with the available methods (like Set, Click, and Select).

To begin let us start with understanding what is a class in OOPS world

It is a blue print from which we can build similar Objects, it is a container used to group related attributes (properties) and methods.

So what is an Object?

Before OOPS, code and data were kept separately. For example, in the C language, units of code are called functions and units of data are called structures. But…

View original post 398 more words

TEST WEBSITES ON MOBILE WITH MUIR

Muir is a mobile browser testing app without all the strings of cloud based suites. Simply download the desktop app, install the client on your mobile devices, and get to work.

Download link: http://labs.iqfoundry.com/muir/release/Muir.exe

 

A Brief….

Thirty Things I’ve Learned

 

1) Remember you will die. Maybe even today. Don’t forget that. Don’t forget to be thankful for your health. For the ability to walk. For the time you get to spend with the person you love. For your siblings. For whatever it is that you have today. It’s not yours, it can be stolen away at any moment. So while you have it on loan, cherish it.

2) Exercise, almost every day. Maybe this is just me. But if I’m not active, I can’t trust myself. I can’t trust my emotions, my reactions, my thinking. Regular exercise resets me.

3) To know what you think, write it down. Forcing myself to write something down, to structure it, to let it see light is the best way for me to clarify what I actually think about something.

4) You end up being the average of the people you spend your life with. You become a reflection of your environment, particularly your social one. Choose your people wisely. Don’t hesitate to move or change if you know things aren’t right.

5) Most people never ask for what they want. A lot of good happens if you ask for what you want. First of all, you’ll be forced to define what you want. Second, you’ll be forced to think about how you might get it. The third step, is the easiest and the least utilised. Just ask.

6) Always take the stairs. There’ll be plenty of days where you can’t, so accept the opportunity to take the stairs as a gift and make a deposit into your Future Health account.

7) Put yourself in places that make you nervous. Nerves are really the only way to know that you’re being stretched. If there hasn’t been a moment of nerves in your life for a month, it might be worthwhile asking if you’re pushing hard enough.

8) Talk it out. When it comes to humans, there’s no other way. You have to talk things out. Sometimes it will take years. For the right people, that time is worthwhile. The unsaid will go unsolved.

9) Don’t be precious. It’s OK to be passionate about great wine, or great coffee or great beer but don’t be the person who’s above a glass of cask wine, a cup of instant coffee or a XXXX Gold.

10) The greatest reflection of your priorities is your time. Whatever you say about what matters to you, the true test is where you place your time. So if you say your priorities are your partner or your kids or your family or your health, that statement will only be true if your calendar reflects it.

11) Everything is mediocre. Most jobs are mediocre. Most people’s work is mediocre. Most products and experiences are mediocre. Most lives drift to mediocre. When you rise above the mediocrity, people will notice.

12) It’s really, really hard to make something great. The inertia of mediocrity makes it hard to do great work. Most people want most things to stay mostly the same. To do great things, you have to go unrecognized, be under-appreciated and push to unreasonable lengths. That’s why #11 stays true.

13) Don’t get disheartened. If you get disheartened, it’s over. Don’t ever underestimate the value of enthusiasm. Sometimes it’ll be all you have.

14) Perception is reality. What’s ‘true’ often doesn’t matter because of what’s ‘perceived’.

15) Understand the value of time. Life ends up being really short, no matter how long you live. You can recover money, you can rebuild houses, you can re-buy glassware — but you can’t get back time.

16) Self-control is a finite resource. You can only ask so much of yourself each day. You’ll snap or warp or splinter if you ask too much. You have a limited capacity to direct yourself a certain way. It’s worth considering where that directive capacity goes every day.

17) Run, wherever you are. Running is the best way to reset, to overcome jetlag, to see a new place and to feel good about the world.

18) Listen to your body. You might feel like you’ve found a loophole, but if you’re not honest, your body will catch up with you soon enough.

19) Control your inputs. Not just what you eat and drink (though this will have a profound impact), control what you read, what you watch, what you listen to, what notifications you allow on your phone, where you spend your time, who you spend it with. Guard your gates with care.

20) Everyone has a vice. To err is human. Everyone has a fault-line. Don’t spend too much time searching for it, but know it will be there and don’t be disappointed when you find it.

21) Listen. On average, are you doing more listening or talking? If the balance isn’t wildly in the favour of listening, or if you had to think about that question for second, it’s a sign you’re not listening enough.

22) Be genuinely curious. You can’t artificially generate curiosity, so you have to follow where yours actually leads. Curiosity ends up being the driving force behind the most interesting people.

23) Of all the life-hacks, not drinking is the most impactful one. When compared with optimising your email inbox or taking multivitamins or outsourcing tasks to a VA, there’s really no bigger lifehack than just not drinking. Asking for soda-lime in social-drinking situations is the easiest way to overcome the friction of applying this to your life.

24) Pay close attention to what you do when you’re alone. When no-one’s looking, when the house is empty, when the afternoon is yours alone — what you choose to do says a lot about you. Pay close attention to where your mind wanders in the shower. Your natural wanderings are your compass to what’s truly interesting to you.

25) Get outside. You’re a collection of atoms, in a poorly understood universe that’s probably infinite. Go look at a tree, or think about a cloud or a star. Whatever you’re going through is probably pretty insignificant in the context of all of that.

26) Never talk about how busy you are or how drunk you were. Seriously. Stop it. Enough already.

27) Almost everything normalises. Grief, wealth, love. Eventually it will all feel normal. Don’t let the feeling of ‘normal’ hide the value of what’s in front of you.

28) People care 10% as much as you think they do. So long as you’re making an effort to be a good person, you can assume most people care much less than you think they do. Just chalk up any negative interactions to circumstance. People always have a million things going on and you’re generally one of the least important.

29) Ship something. Don’t forget the value of making something, even the small stuff. A letter, a vegetable garden, a great recipe. No matter how insignificant. Making something helps remove the rust.

30) You never know where you are on history’s big wheel. You never know what’s coming for you. You have to have some faith. Your moment is coming.

Software Security – At every stage of SDLC.

Is software security of any relevance to the role that I play as a programmer, a product owner, a  business developer, a user and a tester?

In the past month, a retail firm failing to fix the reported bugs concerning security led to several user’s credentials landing in pastebin.com(revealed and now removed).

This article is an attempt to identify every role in SDLC with that of a responsible securitista.
Why security needs to be considered as a functional feature?
Why should software security be identified as an integral part of SDLC?
Why is there a need to build a security team?
Why having a mind-set and skills required for security, a boon to any organization?
In addition, it is necessary to get consumers to understand that the Application/Website built is robust and secure. And have this message conveyed with the security features that your application provides the users with. The image below is one such attempt by Amazon.

 
Image courtesy: Amazon

Adding security features, is making an effort to not lure the customers to a pitfall but remembering to model the requirements by combining the functional features of any application with security features(which are also essential for effective functioning of any application, irrespective of it being consumer facing or not).

The requirements that are received may sometimes be too specific and are in terms of achieving what the epic/user story demands in an agile team.

Examples
To illustrate this: Consider the design of a login page.
Deriving the requirement from a user story: As a user, I would like to login to the specified application successfully with the credentials(authorized mostly) provided.
To this description of the requirement, irrespective of the role played by you, consider adding the below requirements:
security
user accessibility
user experience
metadata information in the login page
contact us info
elements of SEO
copyright information
plug-in installation instruction
privacy notice
conditions of use.
Is this approach to requirement collection, programming, testing taught/followed/received in your organization?

Consider that an application is being built to deliver all testing related Heuristics information on a web page.
On typing ‘I SLICED UP FUN'(a heuristic developed by Jonathan Kohl) in the text field and upon submitting this request to the server, the server fetches:
information about the author, 
explanation of the heuristic, 
it’s usage, 
comments, 
user reviews, 
related searches and 
other heuristics by the same author.
Stop not at this point, build the requirements and test the aforementioned features and the below by installing add-ons for respective browser.
check the  title of the document
favorite icon
SEO(using seoquake)
mobile and desktop versions of the application
test on different versions of supported browsers for RWD(using window resizer)
localization and server information(using flagfox)
help and about the application
error messages, sending crash reports and learn more(an essential feature to learn more about the error)
performance on different browsers: by clearing cache, flushing DNS and tests related to cookies(using http://mashable.com/2008/11/11/firefox-extensions-for-managing-cookies/)
install add-ons on supported browsers and collect data related to performance testing(using Yslow), load testing (using IMacros),brute force and dictionary attack(using IMacros)
display and accessibility (using the Wave toolbar, firebug to inspect and investigate) and everything that the home page is required to display and function well for all the intended users.
font check(using FOUNT) and color check(using colorzilla)
During functional testing phase stick not with testing/checking against specific requirements instead build a robust system which goes way beyond the requirements sheet. 
Build a security and privacy conscious team to build the requirements right from the login page to the delivery page for any application(web,standalone,online,offline).

It would help to secure the system if the collective intention of the team is beyond getting the consumers to click on DOWNLOAD/ORDER button. Pep up the security system of your app for every new feature added.

Question the motive, objective, requirements, the business and the product owner and learn regularly  to keep the requirements and test ideas updated.

What would you like to provide your consumers with?
If the answer is a fully functioning robust system, then set your objective to match this answer.

Designing the objective
What must the objective be? 
Lure consumers with extra bucks/promo code to get them to just Sign Up by providing the email address only – This design is an example of a minimalistic approach/vision.
Easy sign in: with an option to Sign In from an existing account which could raise the risk of an attack in case of an existing/known vulnerability. Accounts/Credentials reuse can be susceptible to security threats, in this case – This design is to increase the customer base easily/faster.
Providing users with a thorough researched registration page having validation checks for every field and maintain consistency across devices/browsers/platforms – This design is an example of the futuristic approach/vision.
Let us not assume that having robustness built into the system will secure the website from all types of hacks. But, yes we can add layers of security to make the application a little less prone to security threats.

Begin
-By identifying the vulnerabilities and building counter attack measures for the known vulnerabilities.

There are 1000(the current number may/maynot differ) password related vulnerabilities known and these issues can be found at http:/nvd.nist.gov.
NVD – National Vulnerability Database.
If victimized, then as mentioned in an article here: http://solidmonster.com/sit-down-series-2/
It is okay to panic, even hackers get hacked. It can be a learning experience.
Let panic not supersede the next step of action when compromised.
Being victimized can help the victim to:
Figure the type of hack.
Learn vulnerabilities which the app is prone to.
Trace back sometimes to the hacker.
Help add additional layers of security.

Security bug

The below hack is shared post the fix.
Shopclues(a retail website) had exposed sensitive information that which could be edited prior to posting the request to the server before proceeding to complete the transaction.
The values in the address bar could be edited and posted to the server using the POST method.
The same link could be used on another device(as is) to complete the transaction by altering the sensitive information.
The application did though secure the next layer by failing such transactions.

Note: The customer was not notified about the failed transaction.
But the altered and posted amount is deducted on continuing to complete the transaction by providing the bank account details:
Case 1: With Internet banking as the mode of payment.
Case 2: Test to check how the transaction is completed, if any other mode of payment is chosen other than net banking.

As mentioned here in the blog comment of this article by commenter Santhosh Tuppad:
http://www.techwell.com/2013/11/privacy-testing-growing-field-software-security-specialists
A mindset which is required to understand, know and learn about software security is amiss in certain regions and organizations at many work levels(an unexplained bias from what I see).
What Next? 

A need to take security seriously sincerely.

 Image courtesy: 
From the book ‘Hacking for Dummies’

What We Can Do?
We certainly can start now and develop a mind set for software security as a feature required to ensure QUALITY.
Introduce security at all levels of Software Development Life Cycle.
Educate our teams and ourselves with privacy and security concepts. 
Questioning if all the fields marked as mandatory are really required when registering to not collect airplane tickets but to shop for flowers. I do not yet know why DOB has to be provided to shop for flowers or if a user is logging in to read an article in a public forum. Unless a database of all user’s DOB is maintained and is used. 
If/When encountered with such observations, then do file this bug under ‘data theft’ category if some website/web form is asking you to fill information which is certainly not in their scope of use/knowing.
If required upfront ask for and collect the DOB’s of all nationalities and maintain it in a national database of DOB’s. Like the national database of Dog and Cat DNA’s in the United Kingdom to help trace criminals(in a crime scene involving cats and dogs).

Summing it up
Bugs are not in the product. Bugs are about the relationship between the product and the people who desire something from it – via Testing Trapeze (http://www.testingcircus.com/documents/TestingTrapeze-2014-February.pdf)

Courtesy: chronicles of testing

Testing Courses, Mnemonics, Books, People

Courses:

The following is a listing of courses related to software quality and the craft of software testing that I believe to be valuable. If you know of a valuable course I do not have listed, please email me Email Icon.

Software Testing
Communication & Leadership

Mnemonic:

“A mnemonic device is a mind memory and/or learning aid. Mnemonics rely on associations between easy-to-remember constructs which can be related back to the data that is to be remembered.”, Wikipedia.

The following is a listing of software testing related mnemonics. If you know of a mnemonic I do not have listed, please email me Email Icon.

SFDIPOT (San Francisco Depot)

Test Strategy Heuristics by James Bach

Structure, Function, Data, Integrations, Platform, Operations, Time

Read More on the SFDIPOT mnemonic

CRUSSPIC STMPL

Quality Characteristics Heuristics by James Bach

Operational Criteria – CRUSSPIC
Capability, Reliability, Usability, Security, Scalability, Performance, Installability, Compatibility

Development Criteria – STMPL
Supportability, Testability, Maintainability, Portability, Localizability

CIDTESTD (Kid Tested)

Project Environment Heuristics by James Bach

Customers, Information, Developer Relations, Team, Equipment & Tools, Schedule, Test Items,Deliverables

Read More on the CIDTESTD mnemonic

DUFFSSCRA (FDSFSCURA)

Test Techniques Heuristics by James Bach

Domain, User, Function, Flow, Stress, Scenario, Claims, Risk, Automatic

Read More on the DUFFSSCRA (FDSFSCURA) mnemonic

HICCUPPSF

Test Oracles by James Bach

History, Image, Comparable Product, Claims, User Expectations, Product, Purpose, Standards andStatutes, Familiar Problems

Read More on the HICCUPSF mnemonic

SACKED SCOWS

Learning Heuristics by James Bach

Scouting Obsessively, Authentic Problems, Cognitive Savvy, Knowledge Attracts Knowledge,Experimentation, Disposable Time, Stories(Contrasting Ideas, Skepticism, Critical thinking, Lateral thinking), Other Minds, Words and Pictures, Systems Thinking

Read More on the SACKED SCOWS mnemonic

MR.Q COMP GRABC R&R

Exploration Skills and Tactics Mnemonic by Jon Bach

Modeling, Resourcing, Questioning, Chartering, Observing, Manipulating, Pairing,Generating/Elaborating, Refocusing, Alternating, Branching/Backtracking, Conjecturing, Recording,Reporting

Read More on the MR.Q COMP GRABC R&R mnemonic

RIMGEA

Bug Advocacy Mnemonic by Cem Kaner

Replicate it, Isolate it, Maximize it, Generalize it, Externalize it, And Say it Clearly and Dispassionately

Read More on the RIMGEA mnemonic

FCC CUTS VIDS

Touring Heuristics by Michael D Kelly

Feature Tour, Complexity Tour, Claims Tour, Configuration Tour, User Tour, Testability Tour, Scenario Tour, Variability Tour, Interoperability Tour, Data Tour, Structure Tour

Read More on the FCC CUTS VIDS mnemonic

MCOASTER

Test Reporting Heuristics by Michael D Kelly

Mission, Coverage, Obstacles, Audience, Status, Techniques, Environment, Risk

Read More on the MCOASTER mnemonic

FAILURE

Error Handling Heuristics by Ben Simo

Functional, Appropriate, Impact, Log, UI, Recovery, Emotions

Read More on the FAILURE mnemonic

SLIME

Ordering of Testing Tasks Heuristics by Adam Goucher

Security, Languages, RequIrements, Measurement, Existing

Read More on the SLIME mnemonic

FIBLOTS

Model Workloads for Performance Testing by Scott Barber

Frequent, Intensive, Business Critical, Legal, Obvious, Technically Risky, Stakeholder Mandated

Read More on the FIBLOTS mnemonic

CCD IS EARI

Performance Testing Core Principles by Scott Barber

Context, Criteria, Design, Install, Script, Execute, Analyze, Report, Iterate

Read More on the CCD IS EARI mnemonic

IVECTRAS

Performance Test Classification Mnemonic by Scott Barber

Investigation or Validation of End-to-End or Component Response Times and/or Resource Consumption under Anticipated or Stressful Conditions

Read More on the IVECTRAS mnemonic

RCRCRC

Regression Testing Heuristics by Karen N. Johnson

Recent, Core, Risk, Configuration, Repaired, Chronic

Read More on the RCRCRC mnemonic

RSTLLL

SMS Texting Applications Testing Heuristics by Karen N. Johnson

Reply, Sender, Timestamp, List, Links, Language, Length

Read More on the RSTLLL mnemonic

MUTII

Testing Heuristics by Jonathon Kohl

Market, Users, Tasks, Information, Implementation

Read More on the MUTII mnemonic

I SLICED UP FUN

Mobile Application Testing Mnemonic by Jonathon Kohl

Inputs, Store, Location, Interactions/Interruptions, Communications, Ergonomics, Data, Usability,Platform, Function, User Scenarioes, Network

Read More on the I SLICED UP FUN mnemonic

SPIES

Internationalization Testing Mnemonic by Nancy Kelln

Special Characters, Pages & Content, Integrations, Error Messages, Special Formats

Read More on the SPIES mnemonic

PAOLO

Device Orientation Testing Mnemonic by Maik Nogens

Portrait, Audio, Objects, Landscape, Overlay

Read More on the PAOLO mnemonic

WWWWWH/KE

Requirements Analysis and Feedback Mnemonic by Darren McMillan

Who, What, When, Where, Why, How, Knowledge, Experience

Read More on the WWWWWH/KE mnemonic

SEED NATALI

GUI Step Automation Mnemonic by Albert Gareev

Synchronize, Exists, Enabled, Displayed, Number of Arguments, Type of Arguments, Log, Investigate

Read More on the SEED NATALI mnemonic

B GRADED SCRIPTTS

Test Strategy Mnemonic by Jared Quinert

Budget, Goals, Risks, Approach, Dependencies, Environments, Data, Stakeholders, Coverage Models,Resources, Information, Prioritization, Tradeoffs, Tooling, Schedule

Read More on the B GRADED SCRIPTTS mnemonic

SPIFFy

Microtest Mnemonic by Industrial Logic

Small, Precise, Isolated, Fast, Frequently Run

Read More on the SPIFFy mnemonic

TERMS

Test Automation Mnemonic by Albert Gareev

Tools & Technology, Execution, Requirements & Risks, Maintenance, Security

CRUMBS

Test Automation Mnemonic by Albert Gareev

Confirmation, Coverage Criteria & Complexity, Risk, Robustness, & Reliability, Usefulness & Usability,Maintainability & Manual Effort, Basis & Bias, Span, Separation, & Security

GO DaRE=M

Mnemonic for testing plans by Carsten Fielberg

Go as in “Go for Goal”, Deliverables, activities, Resources, Estimates, = Represents Balance, Milestones

Read More on the Go DaRE=M mnemonic

PAPAS BE @ SFO

API Testing for Functionality Mnemonic by Anand Ramdeo

Paging, Authentication, Parameters / Query Strings, Authorisations, Security, Behave, Error Handling,State, Filter, Order

Read More on the PAPAS BE @ SFO mnemonic

DEED HELP GC

API Testing for Consumability Mnemonic by Anand Ramdeo

Domain Specific Names, Examples, Easy to Learn, Documentation, Hard to Misuse, Easy to Use, Lead to Readable Code, Principle of Least Astonishment / Surprise, Guessability, Consistency

Read More on the DEED HELP GC mnemonic

DVLA PC

API Testing for Maintainability Mnemonic by Anand Ramdeo

Diagnostic, Versioning, Logging, Accessibility, Purpose, Consumer

Read More on the DVLA PC mnemonic

Books:

The following is a listing of books related to software quality and the craft of software testing. I have included a Star Icon to identify resources I frequently refer to and highly recommend. There are many books listed that have been referred to me as excellent reads.

If you are looking for used, rare, or out-of-print books, consider checking out AbeBooks,www.abebooks.com.

Software Quality & Testing
Communication & Leadership
Metrics & Measurement
Miscellaneous Interesting Reads

People:

The following is a listing of people who I believe are tremedous resources for their contributions to the software quality community and craft of software testing.

Canada
United States
International

Courtesy: Quality Perspectives

Testing Associations, Communities, Conferences and Workshops

The following is a listing of associations and communities related to software quality and the craft of software testing. I have included a Star Icon to identify resources I frequently refer to and highly recommend. If you know of an association or community I do not have listed, please email me Email Icon.

Canada
United States
International

The following is a listing of conferences and workshops related to software quality and the craft of software testing. I have included a Star Icon to identify resources I frequently refer to and highly recommend.

Canada
United States
International

Courtesy: Quality Perspective