Monday, 22 December 2008
Test Policy
I have worked in several places that dont have this and all of them seem to have the same issue testing seems to have a free reign and little focus. Within a company every member of the testing should have an awareness of this document. I am a firm believer that this should really be a bit like a cub scout promise.
I will amend this at a later date to add further information on what should be in a test policy and how to write it.
Saturday, 6 December 2008
ISEB Intermediate Software Testing Exam
Thursday, 27 November 2008
Agile
Sunday, 16 November 2008
Last Minute Testing
Sunday, 9 November 2008
Planning time
Tuesday, 7 October 2008
Out of the frying pan into the fire.
- We wont take things that arent unit tested.
- We will only be testing versus assessed risk.
- We will be reviewing all documents early and if not acceptable we will not allow development.
- If development is late then testing will be late and it wont go in the scheduled release.
- If its last minute then it better be a live issue.
Monday, 6 October 2008
Testing danger!
Deadlines and estimates
Wednesday, 1 October 2008
Waiting...
* Smoke test the environment in advance to ensure that it is working correctly.
* Where possible smoke test the application/system in advance (even if it is an early build) to check that it is going to work.
* Regularly schedule your testing to fit in with your current testing progress.
* Regularly monitor your testing activities to keep all parties up to date with current progress.
* Keep contact with the developers and business analysts to pick up on any changes to the design and requirements. These can greatly impact the testing activites and you will need to know about this ASAP.
Tuesday, 30 September 2008
Emergencies
Why is it that issues encountered in the live systems get fixes implemented with often little or no testing? Is it maybe a flaw in the testing we do or is that what everyone does?
this is what i would like to see:
Requirements - produced by the business as to what they expect
Coverage - amount of testing needed to provide assurance
Approach - Quick single page on the approach to providing appropriate testing.
Scripting - Test scripting for what is going to be covered likely to be confirmation testing and limited regression testing.
Monday, 22 September 2008
Execution
Thursday, 18 September 2008
SIGIST conference - what did I take away?
Codependency
So what do i mean? Why does testing accept the bum rap that it gets in brief as the title explains its called codependency.
Every time that we accept:-
Late handover of software to test
Software that is not unit tested
Missing requirements
Taking something not conforming to entry criteria
Signing off on something not meeting exit criteria
...to name a few
We are expected to:-
Test to crunched deadlines
Work overtime
Signoff on something with no confidence in it
Result in the long term:-
We take the rap when things go wrong that we had no time to test.
We end up expected to work overtime every release
We always get late releases
Testing is always crunched
Nothing is unit tested
This is written in my words but based directly on the talk presented today by Lee Copeland from Software Quality Engineering at the SIGIST conference
Requirements
My personal experience is with Requisite Pro so I will likely make any examples relate to this and MQC but it could also apply to any equivalent system.
If you hold your test requirements along side your business requirements within you requirements management system, then they can be synchronized so that areas of contention would be automatically identified should the business requirements change. These test requirements can then be fed through to MQC in a read only format for usage in providing the requirements linking.
For me one of the key things about doing this is that the test requirements (ie the translated business requirements) can be baselined alongside the business requirements. This would also allow the provision for metrics to be gathered on the number of requirement changes and how much those changes are directly effecting testing.
This is written in my words but based directly on the talk presented today by John Cheesman from Strat Software Ltd at the SIGIST conference
The potential issue with all this is that the requirements NEED to be maintained for this to function if the requirements are far beyond what is currently being worked on then this will be useless. But ask yourself a question “If we are testing to provide a measure of software quality back to the stakeholders, then how can we do this without requirements. The requirements are what they want”.
History of Testing
Few of us, me included know much about the history of software testing and those names that designed the core principals of software testing that we now use to base all of our methods on. Names such as Dave Gelperin, Glenford Myers, Boris Beizer, Bill Perry, Michael Fagan and Tom McCabe.
Further to this it is also startling how few testers have even picked up a book on software testing let alone read one. I think the continued learning and development of people in any profession is key to the knowledge of the work that those people are doing.
Many people don't view work and indeed life as a continued learning experience where by study is as important there as it ever was in school back when someone explained that “Two plus two equals four”.
This is written in my words but based directly on the talk presented today by Lee Copeland from Software Quality Engineering at the SIGIST conference
The people factor
Never underestimate the power of saying thankyou for all the work done to people especially staff under you when it is clear that they have done a good job.
Ensure that you reward good work with an appropriate reward this could be financial or leave or even just a thank you as above. The main thing is that this is one of the main things that makes doing these jobs worth while. It is also important to consider that things like talking to senior management to give them credit or getting it mentioned in a newsletter can be useful providing a relatively cheap but effective reward.
This is written in my words but based directly on the talk presented today by Martyn Caswell at the SIGIST conference.
Tuesday, 16 September 2008
system test or UAT
Sunday, 14 September 2008
Following a recipe
Thursday, 11 September 2008
The truth will out
Wednesday, 10 September 2008
Log those defects
Death by email
Monday, 8 September 2008
Helping or doing the job?
- Make sure where possible that a team leader/manager is aware of the work you are doing.
- Keep a copy of all the work that you have produced locally as evidence.
- Put your name to all the work that is produced. If this is changed and you feel strongly about it you can take issue with this based on the copy that you have.
- Get business agreement for the work you are doing.
Nothings perfect
- A software code drop could be delayed.
- Members of staff could go off sick.
- A third party tool could not work properly.
Thursday, 4 September 2008
Comes with the job
Wednesday, 3 September 2008
Trust or Not
If you plan with that in mind, then should things go pear shaped you can pick up the slack and get things completed correctly on time.
Business analysts give the testers the basis for testing but confirm the information and dont be afraid to raise questions over areas that you dont agree with. Nothing is worse than getting a product that meets everything requested only to find that its not what is needed.
A good example of this is a manager requesting a computerised system for a hotel booking system but only having the budget for 1 computer. With 4 people working on the checkin desk this would mean 3 people sat around with nothing to do all day. A business analyst should pick up that the current paper based booking system would be more efficient and that the money could be better spent elsewhere. If they dont pick up this then who else is there?
Tuesday, 2 September 2008
Requirements
"The requirements were defined incorrectly."
"The requirements changed late in the project."
"We delivered what you wanted and this differs from your expectations."
I know this is ideal world stuff but surely with formal review and a little extra time spent at the beginning of a project a great deal of issues would be solved at the end. This would stop the developers guessing what the system should do. This would also stop the testers having little as a basis for testing and mean that anything produced would likely be acceptable.
The other main thing to consider is to produce a workable product early where possible and continually get this reviewed with the potential users and stakeholders to ensure that they know exactly what is being produced and that it is acceptable.
I think in the real world the best way to help with requirements is to pick up the phone, make a meeting, send an email and chase, chase, chase. If you dont have the information that you need make a list of what is missing and then talk to the person that has been charged with the responsability of producing this information. This will both enable you to say that you have done everything that you could and if you obtain what you need it will let you do your job more effectively.
When is enough enough?
Quite to the opposite what I want to say here is "When is enough, enough?"
I have worked on several peices of work lately where I find myself feeling like some of the documentation is being produced for the sake of it rather than to aid in the system development lifecycle. Can it be that sometimes a formal process that describes rigid artifacts for testing and development can make extra work? The simple answer is "Yes" flexibility is needed to enable discretion to be taken on what needs to be produced and how the process should be adapted to suit all different situations.
Monday, 1 September 2008
ISEB Foundation
Dont just do it for the exam though is my tip for this. If you embrace this course and its material and utilise it all for your testing and then develop this with continued learning your skills will build very quickly. It also highlights the areas that you need more practice in and points you in the right direction to improving these areas.
I know many people who would say that this qualification proves little about a testers aptitude but if you know the material then you have a level of understanding of the basics.
If you havnt done the ISEB Foundation in software testing then you can review the sylabus here:
ISEB Foundation
Practical Test Planning
I am going to decline saying who I went with for the training as there are plenty of training companies out there offering the course and all are probably equally as good.
Wasted an hour of my life!
- Set out a clear objective or set of objectives for what you aim to achieve from the meeting.
- Define an agenda to structure the meeting.
- Any documents should be issued before the meeting with specific areas to be review mentioned if required.
- A chairman of the meeting identified to make keep the meeting on track.
- A range of people identified to fill roles if required.
If none of the above are thought about then the likely outcome is a meeting where you sit either bored or rambling about the weather and what you did on holiday. Certainly not getting any constructive work done.
Sunday, 31 August 2008
Fee or Free
For example: where I work for me to do my job according to the coorporate policy, my collegues and I need to be able to use the following tools
Web King
Mercury Quality Center
WinRunner
Not to mention all the programming tools and standard Microsoft functionality.
Do we really need all of these tools? The simple answer is NO.
Large organisations go with the well known pay for tools and this is why:
- They have a reputation for quality so little work is required to confirm it will work.
- Training can be easily obtained.
- Support is readily available.
- A tool is likely to continue to be provided and not be dropped.
For a small flexible organisation on a lower budget however the free tools are ideal and all it will take is a little research.
Saturday, 30 August 2008
Priorities really?
It has struck me looking around that their seems to be alot of people that dont do this either because they dont know or dont see the reasons for doing this. So although I am definatly not the expert on this I thought I would list a few reasons why I think that prioritising is important.
- Test scenarios with priority can be placed before stakeholders to decide exactly what needs to be covered and what can be left out. This can be done before any real outlay is made.
- When testing gets crunched as it always does.. rather than struggling to cover everything in to little time, you can say "we will only be able to cover priority 1 and 2 tests in the time available as per the time scales we have already provided".
- Tests with high priority can be executed where possible first to maximise effectiveness.
- In large groups it can be made clear to everyone what order script production and test execution needs to be performed.
This is just to name a few things I have thought of off hand ... on a saturday night with a beer in one hand and fork of chicken fried rice in the other.
Testing is easy
Based on requirements we plan all of our testing to be the most effective in the time that is available. We know what to expect and what is acceptable often before we have even seen the system and in a very short space of time provide a method to assess the quality of the system.
I do find that many of the people that I have touched in my job come to understand how much is involved and soon change their minds. So just why do people assume that testing is easy.
Consultants in testing
- Make sure that the experience matches what has been stated in CVs.
- Consultants should be managed closely to ensure they are conforming with any corporate practices.
- Often people within a company will assume specific business knowledge not possessed by an external consultant. Assistance should be provided to fill in this knowledge gap.
- Consultants cost more than internal staff so should be sought with a specific purpose in mind.
New Issues of Testing Experience Magazine
http://www.testingexperience.com/
I get the printed version myself cause i like to read it while travelling.
SIGIST Conference
Just thought I would say that there is a conference for this coming up in london on the 18th September. If you look closely you might even notice me there.
if you want some more info on this
http://www.bcs.org/server.php?show=nav.9264
Unit Testing
Time being short we gave our testing estimates and it clearly wouldnt meet the deployment dates so we brazenly said for this to be tested it will need to be delayed... did they delay it ... no they took the risk to put the software in anyway. Further they also declaired that user acceptance testing was not required.
I being a pain took it upon myself to smoke test it. Within the first 30 minutes of trying to run the software it was clear it wouldnt even run in the environment. Funny thing is when it finally was working we found a unit test defect.
Guess my point with this is back to basics really.. a developer shouldnt test there own software and independant testers will uncover far more defects with a system as they are looking for problems not just checking it works.
Evidence Evidence Evidence
For planning you need a record of:
- What you are testing?
- What steps you are running?
- Why you are testing?
- What order they should be run in?
- What inputs and outputs are expected?
- Who is testing what?
- How many resources?
- When to start testing?
- When to stop testing?
and many more things..
for execution you need a record of:
- Has entry criteria been met?
- What succeeded and failed?
- What tests were run?
- What defects were raised?
- How long it took?
- Current progress
- Has exit criteria been met?
We need this to be able to:
- Provide informed opinions on the quality of a peice of software.
- To display value for money of the testing process (it pains me that we would ever need to prove this... but keeps me on my toes.)
- To feed back traceable defects for correction by the rest of the development team.
- To be able to prioritise and organise a workable solution within time and budget.
etc..
but what really gets me going is that all this is required by testing.. so why is it that requirements gathering and the system development itself is allowed to relatively escape producing the same kind of documentation and accountability is always placed firmly at the testers door.
Weekends
It seems that when I was a developer I was forced to leave alot of my work in the work place. For testing it seems I find myself challenging everything. Even when I browse the web I find myself looking for the mistakes others have made and looking for better ways to do the smallest of things.