RSS feed [root] /software_engineering /weblog



title search:


Thu Nov 09 11:20:56 GMT 2023


(google search) (amazon search)
download zip of files only

Sat Oct 08 12:28:34 GMT 2011 From /weblog/software_engineering


Experience of adopting scrum -

Comparison of XP and Scrum -

(google search) (amazon search)

Mon Oct 03 16:22:03 GMT 2011 From /weblog/software_engineering/testing


By far the biggest reason I have seen for the performance discrepancy above is not due to a faulty test but due to the stress test being executed on wildly different data sets than what is in production. -[..]on-flaw-in-software-performance-testing/[..]0-open-source-performance-testing-tools/

Discuss about performance management, a process to monitor and control performance details -[..]1/09/15/why-do-you-do-apm-in-production/

(google search) (amazon search)

Mon Aug 15 15:43:17 GMT 2011 From /weblog/software_engineering


What is done?

The goal is perfection; the target is improvement -[..]011/08/goal-is-perfection-target-is.html

(google search) (amazon search)

Thu Jun 30 16:36:22 GMT 2011 From /weblog/software_engineering/team


How to face failure?

(google search) (amazon search)

Mon Jun 27 16:43:20 GMT 2011 From /weblog/software_engineering


First, stop writing lousy code
Design for failure
Keep it Simple
Test… test… test….
Get in the trenches with ops
Change is bad…. but change is good
Safety First[..]/06/lessons-in-software-reliability.html

(google search) (amazon search)

Mon Jun 20 16:16:16 GMT 2011 From /weblog/software_engineering/testing

Release Checklist

Various discussion about the checklist: . But I think practice CI is more important:

Joey discuss on beta testing... I feel he requirement is too high for small team -

More discussion - and a checklist for SCRUM

Integraton test concern -[..]integration-points-4-main-considerations[..]

(google search) (amazon search)

Fri May 13 17:15:13 GMT 2011 From /weblog/software_engineering/team


Suggestion of how to due with deny -[..]to-do-when-projects-are-behind-schedule/

Common patterns of various issues and the recommended solution -

Blame base management -[..]/poor-requirements-poor-coding-poor.html

Discipline always not focus at the issue, instead it often bring more other problems -[..]en-directed-at-the-symptom-not-the-cause

Common anti-pattern of forming a good team, and the corresponding solution -

(google search) (amazon search)

Wed Apr 27 16:36:26 GMT 2011 From /weblog/software_engineering/testing

refactoring unit test

Idea of how to refactoring test cases, summary :

Refactor production code with the tests passing. This helps you determine that the production code still does what it is meant to.
Refactor test code with the tests failing. This helps you determine that the test code still does what it is meant to.[..]07/04/tott-refactoring-tests-in-red.html

Collections of idea of testing private methods - , may be it is a signal of refactoring?

The other way of testing private , via compare with difference implementation -[..]1/unit-testing-private-methods-like.html

Explain the problem of non-Determinism in testing, common reason of why tests becoming non-Deterministic, and common solution -

(google search) (amazon search)

Sun Feb 13 17:57:58 GMT 2011 From /weblog/software_engineering


Strategic application and utility service -[..]m/2011/01/strategic-vs-utility-services/

(google search) (amazon search)

Wed Jan 19 16:52:37 GMT 2011 From /weblog/software_engineering


How facebook ship code -[..].com/2011/01/17/how-facebook-ships-code/

(google search) (amazon search)

Sun Jan 16 16:44:41 GMT 2011 From /weblog/software_engineering/project

A Tale of Two Terminals

1. Cutover to any new system should be in small increments. Impossible? Don’t give up on increments too quickly – and don’t leave this to “customers” to decide! The technical risk of a big-bang cut-over is immense. And it’s almost always easier to divide the system in some way to facilitate incremental deployment than it is to deal with the virtually guaranteed chaos of a big-bang cutover.

2. Simplify before you automate. Never automate a work process until the work teams have devised as simple a work process as they possibly can. Automating the right thing is at least as important as automating it right.

3. Do not freeze work design into code! Leave as much work design as possible for work teams to determine and modify. If that is not possible, make sure that the people who will live with the new system are involved in the design of their work.

4. Rehearse! Don’t just test the technical part, include the people who will use the new system in end-to-end rehearsals. Be prepared to adapt the technical system to the social system and to refine the social system as well. Be sure everyone knows what to do; be sure that the new work design makes sense. Leave time to adjust and adapt. Don’t cut this part short.

5. Organize to manage complexity. Structure work around work teams that can adapt to changing situations, especially if the environment is complex, could change rapidly, or is mission critical. At minimum, have emergency response teams on hand when the new system goes live.

(google search) (amazon search)

Wed Jan 12 14:27:11 GMT 2011 From /weblog/software_engineering/testing


A lot of links -

Mindmap like testing diagram -

Video and Slides for GTAC -[..]posted-by-lydia-ash-gtac-conference.html[..]0/12/gtac-5-videos-slides-abstracts.html

(google search) (amazon search)

Mon Jan 03 01:13:15 GMT 2011 From /weblog/software_engineering/testing

javascript tester

An simple example of doing javascript unit test -[..]ray?entry=testing_javascript_with_groovy However this approach is too fake for me and easy to miss many thing, IMHO putting test a real environment is better

A site for javascript testing

Test time in javascript -[..]avascript-simulating-time-in-jsunit.html

And this is an example of using JDK6 scripting framework for testing javascript, pretty interesting , but probably not reflecting IE/MOZ behaviour -

Use a scripting engine to test javascript -[..]nsanely-fast-full-stack-headless-testing

(google search) (amazon search)

Tue Nov 16 16:48:42 GMT 2010 From /weblog/software_engineering/testing


Here is a more complicated framework, not looking good but still keep it here as the concept is interesting -

The most excellent implementation for my need - - Don't use it as junit, "The whole point of Fit is to use HTML to speak the customer's language and fixtures to translate that language to code. " - Version control is #1 issue at that article

When use Fit/Fitness -[..]-do-i-use-for-acceptance-tests-atdd.html

(google search) (amazon search)

Tue Mar 09 01:37:46 GMT 2010 From /weblog/software_engineering/SCM


Software CM creates the medium through which software development changes & activities must flow. Therefore, Software CM is the intentional architecture of software development change-flow. According to this article[..]/2007/05/software-cm-is-not-process.html

Survey result of difference VCS within thoughtwork -

(google search) (amazon search)

Tue Dec 08 00:42:14 GMT 2009 From /weblog/software_engineering/project

project status checking

Can everyone on the team write the aim of the project on a post-it note with a thick flip-chart marker? If not, then the end game is not clearly defined and universally understood.

Come up to a colleague and say ‘can I ask a favour?’ just to see how they will react. If you get told off, the person is probably not very happy about the work. Richards advised building teams with “those who say can” , even when they are dealing with problems. Such people will improve collaboration and team spirit on the team.

When a phase of project is officially done, ask yourself “is it safe enough to move on?”. If this question gives you a bad gut-feel, you aren’t done yet.

How many of your projects ended with a serious project review? This is, according to Richards, crucial for organisational improvement, preventing repeated mistakes and sharing knowledge between teams.

How would people on the team feel about the customer saying “I’ve changed my mind”. If the response is negative, the system isn’t as flexible as it should be.

Ask someone for an update on a task and stay completely silent for 10 seconds – don’t do anything to provoke a response. If the other person is unsure or nervous about something, they will start spilling that out. If they too remain silent, things are going OK.

Do you know how much time was spent on testing on your last project / iteration? If you can’t even estimate this, you aren’t collecting good actual measurements of the project. Collecting actual measurements is, according to Richards, crucial for getting to realistic work estimates.

Pick up a document, turn it over and see what’s on the back. If you find diagrams, that suggest the need for clarity as people were drawing on it to explain things.[..]chniques-to-test-how-a-project-is-going/

(google search) (amazon search)

Sun Oct 18 02:48:52 GMT 2009 From /weblog/software_engineering/SCM


Subversion setup guide at windows[..]_control_with_subversion_on_windows.html

Use one click subversion is much easier

Here is a simple cookbook of svn server config[..]p/archive/5-minutes-guide-to-subversion/

Tutorial of merge, people say it is good...

CVS2SVN tutorial -

Patch tutorial -[..]reate-and-apply-a-patch-with-subversion/

Merge helper tools -[..]ance/subversion_branching_with_less_pain

CollabNet Merge Client -[..]s/2-Documents/Merge%20Client%20Overview/[..]%20Client%20Installation%20Instructions/

Sync 2 difference respository -[..]t/bin/

Some more informations and discussions -

Want to Undo change?[..]m/en/1.0/svn-book.html#svn-ch-4-sect-4.2

Clean subclipse login cache - delete cache at c:\Documents and Settings\[username]\Application Data\Subversion\auth

(google search) (amazon search)

Tue Sep 01 17:32:44 GMT 2009 From /weblog/software_engineering/SCM


Discussion about SCM, consist a lot of comment about clearcase -

Why clearcase is bad -

(google search) (amazon search)

Sun Jul 05 16:35:08 GMT 2009 From /weblog/software_engineering/testing

automatic test presentation

A presentation bascially say: "any start is a good start" -

Short presentation illustrate many important concept of unit test -

Argument of not doing TDD will cost more -[..]ave-time-for-tdd-but-may-not-know-it-yet

Automated test or Test automated? -[..]automating-tests-vs-test-automation.html

IT adventures: Creating a QA process from out of thin air -

(google search) (amazon search)

Tue May 12 03:33:56 GMT 2009 From /weblog/software_engineering/SCM


If some of the source need to merge manually -

Some common cross platform issues -

(google search) (amazon search)

Sun Apr 05 17:25:04 GMT 2009 From /weblog/software_engineering/testing

Testometer Triangle Test

This is probably one of the most common question in software testing interview. This problem was first introduced by Myers, who was one of the first person to treat Software Testing as a different subject all together. This test check your ability to think about generating test data in a given condition.
Suppose your program accepts input as three sides of a triangle and gives output on what type of triangle is this i.e. Scalene (no sides are same), Isosceles (any two sides are same) or Equilateral (All the three sides are same). You have to come up with different test cases to test this program.
You can write your test cases here, by giving side of the triangles and evaluate your test data. Once you are done with all the test cases you can think of, check your performance. If you want to restart your test anytime, just click on the restart test button. I have not covered all the possible test cases here as idea is to give you sufficient information to get started.[..]er/154-triangle-test-in-software-testing

(google search) (amazon search)

Sun Apr 05 15:53:54 GMT 2009 From /weblog/software_engineering

Information radiator

(google search) (amazon search)

Fri Mar 06 14:36:44 GMT 2009 From /weblog/software_engineering


Automate build, test, and install processes.
Automate dull, tedious, or repetitive work
Automate to free time for creative, intellectual work.
Never automate evolving processes.
Do not automate in order to avoid human interaction.
Prefer physical artifacts with coercive immediacy
Software serves the team, never the reverse.

(google search) (amazon search)

Wed Jul 16 15:53:06 GMT 2008 From /weblog/software_engineering/SCM

distributed team[..]on=com_myblog&task=view&id=526&Itemid=85[..]D=208802468&dept_url=/development-tools/

(google search) (amazon search)