- Operating Systems abstract the hardware layer and present usability to end users and developers alike. (Microsoft)
- Compilers - abstracts the machine code in higher level language (IBM, Microsoft, SUN)
- Virtual Machines abstracts hardware & OS for generic machine codes running over it - (SUN - Java; Microsoft - C#)
- Virtualization technology (vmware, Citrix - xen; Microsoft - hyperV)
Wednesday, December 22, 2010
Software Abstraction - business success stories
Sunday, October 3, 2010
Apple iTouch
- iTunes account
- Apple ID
Monday, September 20, 2010
ODBC excel on Windows 7 - 64bit
- 32 bit version: C:\Windows\System32\odbcad32.exe is what is default (Bad Microsoft)
- 64 bit version: c:\windows\sysWOW64\odbcad32.exe We need to use
- 32 bit: c:\windows\sysWOW64\odbc32.dll
- 64 bit: c:\windows\sysWOW64\odbccp32.dll
Friday, September 10, 2010
Action Driven Testing
Record-Playback | Data-Method Driven | Action Driven | |
Time to Market | Low | Medium | High |
Learning Curve | Low | High | Medium |
Maintenance | High | High | Low |
Code Reuse | Low | Medium | High |
Tool independence | No | No | Yes |
Division of Labor | No | No | Yes |
Abstraction Layer | No | No | Yes |
Tuesday, August 3, 2010
Storage Startup Companies
- autovirt
- avere
- caringo
- digitiliti
- egnyte
- exar
- the linux box
- nasuni
- nexenta
- nimble storage
- nimbus data
- nine technology
- ocarina networks
- pivot 3
- promise technology
- storsimple
- zetta
- Drobo
Thursday, July 15, 2010
Testing opportunities in Agile environment
Automation is the general demand from project teams so that projects can be shipped as soon as the last code is checked in to source code. Automation of areas that don't change can be a great benefit to testers. Automating not well documented new feature can take much longer than any plan, unless it is done by the developer of the product.
Other changes in testing style that help agile projects
- Do not call for rigid Testing Procedures as the requirements/features can change rapidly.
- Test early and often.
- Test from end user perspective and early
- Build pass is a test case - don't you think so?
- Adopt iterative testing - not waiting for the last build to start test cycle
- Each recorded bug in the system is asset and liability. Liability in that there is fixed cost associated with the administration of the defect. Don't have the team motivation based on bug count - instead focus on quality of the product and the number of not already known issues returning from field
- Module/unit testing (jUnit) can help - especially when the system level is not quiet ready
- Practice light weight documentation style. Not a pretty verbose documentation.
- Make reusable checklists - preferably in wiki
- Testing Sequence for an incremental internal/external release
- New features
- Bug verification
- regression testing (run any automated test continuously)
Friday, July 9, 2010
Sparse Files
qcow2 - QEMU's Copy-on-write
Qcow helps in taking vm snapshots - or any file system snapshots.
samba for Linux > windows
smbmounts using mount command like
mount -t cifs ...
and
smbmount //server/share /localdir -o username=user,password=pass,uid=500,gid=500
WinPE from Microsoft
If the system blue screen or does not start from hard disk, WinPE is a good disk to explore the system. Note 32 bit 64 bit are different versions in WinPE.
openVPN - GPL?
PCI device drivers database
All PCI Drivers have vendor ID. This database enables searching the vendor database by name or by Device ID.
VSS - microsoft Shadow Copy or Volume Snapshot Service
vssadmin create shadow /for=c:
vssadmin list providers
vss writers are available for the following Windows Services
- Microsoft Exchange Server
- Microsoft SQL Server
- Microsoft Share Point servers
winexe - GPL
http://eol.ovh.org/winexe/
Currently at 0.90 version. Main short coming is the return code from the Windows is not returned.
Watch out for the special characters in the credential are properly escaped.
This is not in active maintenance.
Microsoft's PsExec is the windows flavor of this product.
Xen Virtualization
http://downloadns.citrix.com.edgesuite.net/akdlm/5158/XenServer-5.6.0-install-cd.iso
Xen also available as LiveCD at http://www.xen.org/download/LiveCD/livecd-xen-3.2-0.8.2-i386.iso & http://www.xen.org/download/LiveCD/livecd-xen-3.2-0.8.2-amd64.iso
Not too sure what's xen Cloud Platform cd
Xen for some reasons don't want to shutdown (poweroff). This could be due to dom0 running on the hypervisor. The system running on Dom0 not able to shutdown the hypervisor.
Hyper-V
- Microsoft Hyper-V Server 2008 R2
- part of Microsoft Windows Server 2008 R2
If you want a reasonable working system, install Microsoft Windows Server 2008 R2 and use the Hyper-V console that comes with it.
The following servers run happily on Hyper-V
- Windows 2003 32 bit
- Windows 2003 64 bit
- windows 2008 32 bit
- Windows 2008 64 bit
- Windows SBS 2003 32 bit
- Windows SBS 2008 64 bit
- The mouse don't work on remote desktop to Hyper-V console (I would prefer vmware esx/esxi to over come this shortcoming)
- Grub4Dos based boot system has trouble under Hyper-V (This is not an issue with vmware esx/esxi)
Few learning
- Make sure VT enabled in BIOS
- Make sure you connect to Legacy Network (non-default) http://technet.microsoft.com/en-us/library/cc770380.aspx
- Dell PowerEdge 1950 (1U) and 2950 (2U) are known good candidates for hosting Hyper-V
Monday, May 10, 2010
ETags for caching
http://www.infoq.com/articles/etags
ETags does not seem to be 100% reliable. There is notion of strong & week ETag - still not 100% reliable.
ETag also can be used like Cookie - including tracking purpose.
Wednesday, April 21, 2010
Mac OS X - tools
- Microsoft Remote Desktop Connection Client for Mac 2.0.1
- Chicken of the VNC
- Enable VNC instructions (link?)
Monday, April 19, 2010
vmware Remote Console
vmware-vmrc.exe -h
(Not tried successfully this command as yet as of 2010/04/19)
Virtual Machine - Software Tester's boon
- Server consolidation
- Saves Money as we don’t need as many physical boxes
- smaller foot print in the lab (space / Power / cables / cooling)
- Server management cost is reduced as the number of physical boxes reduced
- Keyboard / Video / Mouse comes in at no extra cost
- Power ON/OFF from remote machine comes with no extra cost
- CD can be managed as file instead of physical media
- No need for physical CD
- No need to burn CD
- No need to insert the CD (Physical presence)
- No Need to take out the CD (Physical presence)
Monday, April 12, 2010
VMware tips
ESXi - free version
.vmdk - Virtual Machine Disk file format
.VMX files – a VMX file is the primary configuration file for a virtual machine.
Enabling SSH in VMware Hypervisor.
Press ALT F1 at the physical console of the system and type 'unsupported' and then the root password of the machine. From there uncomment ssh in /etc/inetd.conf and restart services with a /sbin/services.sh restart.
Moving VM's in VMware ESXi
Connect to the hypervisor that your VMDK files are on via ssh. From there you can navigate to the vmx and vmdk files you wish to migrate under the /vmfs directory. Your VM's should be under /vmfs/volumes/datastore#. Once you are in the directory you wish to migrate you can use SCP to copy the physical disk files to the other machine. With a command similar to scp * root@hostname:/vmfs/volumes/ datastore#/vm-dir. You will need to have the destination directory created ahead of time. Once the files have copied you will need the specific command VMware-cmd for the registration of the VM with the hypervisor and to power on the VM. A command similar to VMware-cmd -H hostname_of_hypervisor -s register /vmfs/volumes/datastorename/vm-dir/vm.vmx datacenter-name resource-pool. The easiest way to register VM's is through the VMware Console. VM's can be registered with the hypervisor by navigating
to the datastore on the summary tab under the main hypervisor in the GUI. Double click on the datastore to browse the files. Right click on the VMX file you wish to register and select add to inventory.
Now that our VM has been moved and registered we are ready to boot it. You can do this from the remote command line with VMware-cmd -H hostname_of_hypervisor /vmfs/volumes/datastorename/vm-dir/vm.vmx start or through the GUI.
vim-cmd
- vim-cmd vmsvc/getallvms
- vim-cmd vmsvc/power.getstate
- vim-cmd vmsvc ---- returns full list
For getting delay in power on BIOS (useful in super fast machine). Add line in .vmx file
- bios.bootDelay = "5000"
- bios.forceSetupOnce = "TRUE"
VMWare ESX or ESXi CAN run inside a virtual machine, provided certain prerequisites are satisfied.
This kind of setup is of course completely useless (and totally unsupported) in a production environment, but can be very useful for two purposes:
- Testing or studying ESX or ESXi if you don't have a physical server available.
- Testing or studying the whole Virtual Infrastructure if you don't have at least two servers and a SAN.
Prerequisites:
- You need some physical resources. In order to run ESX or ESXi in VM, the VM needs at least 1.5 GB of memory, two VCPUs and enough disk space for the server itself and for the VMs you will run inside it.
- You absolutely need a physical CPU with native virtualization support (Intel VT or AMD-V).
- You need to run VMWare Workstation 6.5 or VMWare Server 2 on the physical host. Previous versions can't succesfully run ESX or ESXi in a VM.
- A 64-bit OS on the physical host is useful but not required.
Setup:
- Enable native virtualization support for your CPU in the motherboard BIOS (it's often not enabled by default).
- Install your preferred virtualization software. I've tested everything succesfully using VMWare Workstation 6.5.2 on a Windows XP x64 host, but it should work with VMWare Server 2.0 and/or Linux hosts, too.
- Create a custom VM using those setting:
- Hardware compatibility level: latest
- Guest operating system: other 64-bit
- Virtual CPUs: at least 2
- Memory: at least 1.5 GB
- Networking: Host-only or NAT
- SCSI adapter: LSI Logic
- Virtual disk type: SCSI
- Virtual disks: as you wish; I suggest using at least two virtual disks, a 10-GB one for installing the system and another one where to create a datastore. The space should be pre-allocated.
- Remove floppy, sound card, USB controller, etc. Leave only networking and storage.
- CPU Execution mode: Intel VT-x or AMD-V (very important).
Manually edit the VMX file of the virtual machine you created, setting the following parameters:
guestOS = "vmkernel"
monitor_control.vt32 = "TRUE"
monitor_control.restrict_backdoor = "TRUE"
Start the VM and install ESX or ESXi from the installation ISO image.
- Configure the networking to allow the ESX or ESXi virtual server to talk with the host.
Usage:
- Use your web browser to connect to you virtual server's IP address and download the VI Client.
- Install the VI Client on the host.
- Connect to the virtual ESX/ESXi server.
- Create a VM as you wish.
- Power up the VM.
If everything is done correctly, the VM will start. If it complains about not being able to power on a VM inside a VM, then there is an error with the `monitor_control.restrict_backdoor' parameter (or you're using an old version of VMWare Workstation/Server).
VMWare Server 2.0, you won't be able to select the CPU execution mode in the GUI; you can fix this by adding the following line to the .vmx file: monitor.virtual_exec = "hardware"